自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HMMHMH的博客

Python高级从零开始学习笔记

  • 博客(64)
  • 收藏
  • 关注

原创 Django框架——视图

目录RequestResponseAPIView(一级视图)GenericAPIView(二级视图)Mixin子类视图(三级视图)路由RouterRequestREST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象。REST framework...

2018-11-03 11:55:55 383 1

原创 Django——序列化与反序列化

目录Serializer类序列化反序列化模型类序列化器BookModelSerializerSerializer类1.定义:Django REST framework中的Serializer使用类来定义,须继承rest_framework.serializers.Serializer。例:class BookInfoSerializer(serializers.Serializer):...

2018-11-03 11:45:22 1126

原创 REST与RESTful

目录1.rest原则2.关于restful3.请求相关设计方法1.rest原则(1)网络上的所有事物都被抽象为资源(2)每个资源都有一个唯一的资源标识符(3)同一个资源具有多种表现形式(xml,json等)(4)对资源的各种操作不会改变资源标识符(5)所有的操作都是无状态的特点:url简洁,将参数通过url传到服务器,而传统的url比较啰嗦,而且现实中浏览器地址栏会拼接一大串字符...

2018-11-01 11:17:25 335

原创 Django框架——中间件

目录1.定义方法2.执行顺序1.定义方法(1)定义一个中间件工厂函数,然后返回一个可以被调用的中间件。(2)中间件工厂函数需要接收一个可以调用的get_response对象。(3)返回的中间件也是一个可以被调用的对象,并且像视图一样需要接收一个request对象参数,返回一个response对象。例:定义:def simple_middleware(get_response): ...

2018-11-01 11:01:32 223

原创 Django框架——类视图

目录1.类视图的使用2.类视图装饰器的使用1.类视图的使用继承View类,通过不同的请求方式定义不同的函数。类视图的好处:(1)代码可读性好(2)类视图相对于函数视图有更高的复用性 , 如果其他地方需要用到某个类视图的某个特定逻辑,直接继承该类视图即可例:from django.views.generic import Viewclass RegisterView(View)...

2018-11-01 10:55:34 212

原创 Django框架——状态保持(cookie、session)

目录1.cookie2.session1.cookie设置:HttpResponse.set_cookie(cookie名, value=cookie值, max_age=cookie有效期)(max_age单位为秒)读取:request.COOKIES.get(键) (request.COOKIES为字典类型,可使用get获取对应的键值)删除:response.delete_...

2018-11-01 10:50:30 276

原创 Django框架——HttpResponse对象

1.HttpResponse可通过HttpResponse构造响应对象:HttpResponse(content=响应体, content_type=响应体数据类型, status=状态码)响应头可以直接将HttpResponse对象当做字典进行响应头键值对的设置:response = HttpResponse()response['itcast'] = 'Python' # 自定义...

2018-11-01 10:45:22 592

原创 Django框架——HttpRequest对象

目录1.URL路径参数2.QueryDict对象3.查询字符串Query String4.请求体5.请求头6.其他1.URL路径参数(1)位置参数:使用正则分组,与视图中的参数一一对应,不可换位置例:url(r'^(\d+)/(\d+)/$', views.index)def index(request, 参数1, 参数2):...(2)关键字参数:参数位置可以变,与关键字保持一...

2018-11-01 10:42:45 199

原创 Django框架——查询集QuerySet

目录1.概念2.两大特性(1)惰性执行:(2)缓存:3.限制查询集1.概念Django的ORM中存在查询集的概念。查询集,也称查询结果集、QuerySet,表示从数据库中获取的对象集合。当调用如下过滤器方法时,Django会返回查询集(而不是简单的列表):方法描述all()返回所有数据。filter()返回满足条件的数据。exclude()返回满足...

2018-10-28 11:41:24 238

原创 Django框架——ORM数据库操作

目录一.增加二.删除三.修改四.查询1.基本查询2.过滤查询3.过滤条件语法4.F对象和Q对象5.聚合函数6.排序函数7.关联查询测试数据:BookInfo表PeopleInfo表一.增加1.save:对象 = 模型类(字段名 = 值,字段名 = 值,…)对象.save()例:>>> book = BookInfo(... name...

2018-10-28 11:28:39 312

原创 Git——单人操作及多人协同操作

目录1.安装git2.git单人操作3.git多人操作4.标签5.分支1.安装gitsudo apt-get intall git2.git单人操作(1)创建git仓库:git init (2)配置git的提交用户名和邮箱:git config user.name ‘zhangsan’git config user.email ‘[email protected]’(3)查看文件状态:...

2018-10-14 09:05:32 1000

原创 redis数据库及与python交互

目录redis数据操作与python交互使用redis数据操作1.string类型:主要存储字符串操作命令设置键值set key value设置键值与过期时间setex key seconds(单位为秒) value设置多个键met key1 value1 key2 value2 …追加值append key value获取值get k...

2018-10-14 08:58:11 258

原创 Python——单元测试

目录1.assert(断言):2.测试类:单元测试:  程序开发过程中,写代码是为了实现需求。当我们的代码通过了编译,只是说明它的语法正确,功能能否实现则不能保证。 因此,当我们的某些功能代码完成后,为了检验其是否满足程序的需求。可以通过编写测试代码,模拟程序运行的过程,检验功能代码是否符合预期。  单元测试就是开发者编写一小段代码,检验目标代码的功能是否符合预期。通常情况下,单元测试主要...

2018-10-12 14:03:02 1161

原创 Flask框架——ORM数据库

目录一.通过SQLAlchemy(ORM)操作数据库的流程二.注意点三.创建数据表类(继承db.Model)四.增删改操作五.查询数据库六.relationship关联七.数据库迁移八.蓝图一.通过SQLAlchemy(ORM)操作数据库的流程1.安装扩展包, pip install flask_sqlalchemy2.安装数据库驱动, pip install mysqldb / pymy...

2018-10-12 11:55:54 7918 1

原创 jinja2模板用法详解

目录渲染模板语法过滤器代码复用特有变量及函数 渲染模板用法:render_template(⽂件名,key=value)模板文件一般默认路径为/templates下的文件,可通过key=value的方式往模板文件中传递参数,模板中使用{{key}}的方式获取参数。例:@app.route("/")def index(): ........ return render_templa...

2018-10-12 10:51:21 4381

原创 Flask框架——CSRF保护

目录CSRF攻击如何防御CSRF攻击Flask框架中的CSRF保护机制CSRF攻击CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造。CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求。包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账…造成的问题:个人隐私泄露以及财产安全。攻击示意图:如何防御CSRF攻击在客户端...

2018-10-12 10:36:31 509

原创 Flask框架——上下文、flask_script扩展

目录上下文(引用池,引用区)flask_script扩展上下文(引用池,引用区)上下文:相当于一个容器,保存了 Flask 程序运行过程中的一些信息。为了避免大量可有可无的参数把视图函数弄得一团糟,Flask使用上下文临时把某些对象变为全局访问。Flask中有两种上下文,请求上下文和应用上下文1.请求上下文:变量名描述request封装每次请求的相关数据,可以称...

2018-10-12 10:14:39 215

原创 HTTP状态保持(cookie、session)

目录cookiesessionQZZW'qcookiecookie:由服务器生成,存储在客户端的数据HTTP协议是无状态的协议,一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接,这就意味着服务器无法从连接上跟踪会话。Cookie就是这样的一种机制。它可以弥补HTTP协议无状态的不足,他会给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样...

2018-10-12 09:52:17 471

原创 Flask框架——请求钩子与request请求对象

目录请求钩子request对象请求钩子在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如:在请求开始时,建立数据库连接在请求开始时,根据需求进行权限校验在请求结束时,指定数据的交互格式为了让每个视图函数避免编写重复功能的代码,Flask提供了通用设施的功能,即请求钩子。请求钩子是通过装饰器的形式实现,Flask支持如下四种请求钩子:请求钩子描述...

2018-10-09 11:44:31 425

原创 Flask框架——路由和视图

目录创建一个简单flask框架程序路由视图函数参数加载方式创建一个简单flask框架程序#1.导入Flask类from flask import Flask#2.创建Flask对象接收一个参数__name__,它会指向程序所在的包app = Flask(__name__)#3.装饰器的作用是将路由映射到视图函数[email protected]('/')def index():...

2018-10-08 11:01:37 413

原创 Vue——进阶(过滤器、数据交互、生命周期、ES6语法)

目录过滤器数据交互生命周期函数ES6语法过滤器1.定义过滤器:(1)局部过滤器: new Vue({ el:"#app", filters:{ // 写在vue对象里面的过滤器,是一个局部过滤器 getOuShu:function(array){ ...

2018-10-08 10:37:52 777

原创 Vue——基础(对象、属性样式操作、条件、循环、事件、绑定)

目录vue对象vue操作属性vue操作样式三元运算条件渲染循环语句click事件双向绑定数据vue对象1.创建:new Vue({…})2.属性:属性描述el需要管理的区域data用来显示在页面的数据computed计算属性watch监听属性methods方法属性vue操作属性1.格式:v-bind:属性=”data”...

2018-10-08 10:28:05 2195

原创 jQuery——高级(js对象、json、ajax)

目录js对象jsonajaxjs对象创建js对象的两种方式:1.通过new Object创建:var p1 = new Object();// 设置属性,和方法p1.name = "张三";p1.age = 13;p1.study = function(){console.log(p1.name + "正在学习,葵花宝典");}// 调用属性和方法console.log(...

2018-09-27 10:17:54 333

原创 jQuery——进阶(动画、循环、正则、事件冒泡、事件委托、DOM)

目录特殊动画效果单标签操作链式调用循环遍历正则表达式事件冒泡事件委托创建标签dom操作特殊动画效果1.淡入淡出:fadeIn():淡入fadeOut():淡出fadeToggle():切换淡入淡出2.显示隐藏:show():显示hide():隐藏toggle():切换显示隐藏3.下拉收起:slideDown():下拉显示slideUp():收起隐藏slideToggle...

2018-09-27 10:03:35 209

原创 jQuery——入门基础(获取元素、样式、属性,选择集、过滤器、样式类)

目录Jquery的加载方法获取元素操作样式和属性选择集和过滤器选择集转移绑定常用事件操作样式类名Jquery的加载方法(1)$(document).ready(function(){})(2)$(function(){})特点:对原生Js进行封装后,执行顺序在原生Js前,执行速度更快。获取元素选择器参数id选择器$(“#id”)class类选择器$(“....

2018-09-22 10:13:42 562

原创 Javascript——进阶(事件、数组操作、字符串操作、定时器)

目录事件属性数组字符串操作定时器变量的作用域封闭函数弹框接收数据事件属性参数描述onclick鼠标点击事件onmouseover鼠标移入标签,触发行为onmouseout鼠标移出标签,触发行为数组操作方法创建arry = Arry(1,2,3) 或 arry = [1,2,3]获取元素arry[下标]获取长度...

2018-09-22 10:02:29 165

原创 Javascript——入门基础

目录变量类型显示方式:获取元素if条件语句变量类型名称类型number数字类型string字符串类型boolean布尔类型undefined未声明/定义类型null空类型object复合类型显示方式:参数描述alter()弹框显示console.log()控制台显示document.ti

2018-09-22 09:55:07 127

原创 HTML/CSS常用标签属性及样式

1.常用布局样式:参数描述width宽度height高度background背景颜色border边框padding内边距margin外边距float浮动clear清除浮动2.常用文本样式:参数描述color颜色font-size字体大小font-family字体fon...

2018-09-22 09:45:52 3540

原创 HTML/CSS进阶

盒子模型1.margin和padding1个参数指上下左右距离;2个参数指上下,左右;3个参数指上,左右,下;4个参数为上右下左,顺时针方向。2.外间距居中,可用auto。3.盒子真实宽度:width + 左右padding + 左右border;盒子真实高度:height + 上下padding + 上下border。列表1.无序列表:<ul> <li>列...

2018-09-22 09:37:42 187

原创 HTML/CSS入门及基础

html标签类型1.块元素:h1-h6:标题标签,1~6依次变小p:段落标签,有默认的外边距div:容器标签,用来包裹其他元素…块元素可以设置宽高,独占一行。2.内联元素(行内元素):a:超链接标签,href=”地址” target=_self跳转页面/_blank打开新页面 titlt=”鼠标移上去时显示的文字”span:内联容器标签,没有其他默认样式img:图片标签,src...

2018-09-22 09:26:24 166

原创 Python高级——mini_web框架(实现web框架接口,数据库连接)

mini_web框架http服务器import socketimport multiprocessingimport reimport mini_frameclass Http: def __init__(self): # 初始化属性 self.server_socket = socket.socket(socket.AF_INET,...

2018-09-13 12:01:17 446

原创 Python高级——魔法属性和方法

魔法属性和方法1.__doc__:表示类的描述信息2.__module__和__class__:当前操作对象所属的模块和类3.__init__:初始化方法,类创建对象时,自动触发执行4.__del__:对象在内存中释放时,自动触发执行5.__call__:对象后加括号(对象()),自动触发执行6.__dict__:类或对象中的所有属性7.__str__:打印对象时,默认...

2018-09-13 11:57:36 357

原创 Python高级——property属性

property属性1.property属性:   是一个提高开发者用户体验度的属性,可以将一个函数改造的像属性一样。 例:# 定义的时候像是一个函数 使用的时候和属性的方式是以样的class Foo(object): @property def money(self): return 100# f = Foo()# m = f.money...

2018-09-13 11:53:26 179

原创 Python高级——多继承问题(super与mro)

多继承问题1.单独调用父类:    一个子类同时继承自多个父类,又称菱形继承、钻石继承。   使用父类名.init(self)方式调用父类时: 例:class Parent(object): def __init__(self, name): self.name = name print('parent的init结束被调用')class ...

2018-09-13 11:47:17 2613 2

原创 Python高级——with上下文管理器

with上下文管理器  任何实现了 enter() 和 exit() 方法的对象都可称之为上下文管理器,上下文管理器对象可以使用 with 关键字。    如果一个一个文件使用普通方式打开:def m1(): f = open("output.txt", "w") f.write("python之禅") f.close()如果程序执行中碰到错误,会退出程...

2018-09-13 11:40:14 216

原创 Python高级——import导入模块

import导入模块1.搜索路径:   搜索导入的模块的路径。模块名.path2.添加新的模块路径:   # 确保先搜索目标路径模块名.path.append(路径) / 模块名.path.insert(0, 路径) 3.重新导入模块:from imp import reloadreload(模块名)4.多模块开发注意: 方式 描述...

2018-09-13 11:36:42 344

原创 Python高级——赋值、浅拷贝与深拷贝

赋值-浅拷贝-深拷贝1.赋值:   对象赋值的本质是对象之间引用的传递,即多个对象指向同一内存空间。    2.浅拷贝:   浅拷贝是对一个对象的顶层数据的拷贝(如果拷贝嵌套对象,只能拷贝顶层,底层数据还是引用。   import copy  对象.copy.copy(目标对象)   3.深拷贝:   深拷贝是对一个对象的所有层次的拷贝,保证数据的独立性。   ...

2018-09-13 11:32:52 158

原创 Python高级——GIL全局解释器锁问题

GIL全局解释器锁  GIL全局解释器锁是cpython解释器内部的一把锁,和python中的lock锁不是一个层面。 GIL产生的背景:在cpython解释内部运行多个线程的时候,每个线程都需要解释器内部申请相应的全局资源,由于C语言本身比较底层造成CPython在管理所有全局资源的时候并不能应对所有线程同时的资源请求,因此为了防止资源竞争而发生错误,对所有线程申请全局资源增加了限制-全局...

2018-09-13 11:24:55 208

原创 Python高级——闭包与装饰器

闭包1.函数参数: (1)函数名存放的是函数的地址 (2)函数名()存放的是函数内的代码 (3)函数名只是函数代码空间的引用,当函数名赋值给一个对象的时候,就是引用传递def func01(): print("func01 is show")test = func01print(func01)print(test)test()结果: 2.闭包: (1)内...

2018-09-13 11:16:52 200

原创 Python高级——数据库编程(Mysql)

数据库编程1.数据库基本操作:# 导入模块from pymysql import *# 创建连接conn = connect(host='localhost', port=3306, user='root', passwd='zsh123', db='jing_dong', charset='utf8')# 创建游标对象cs = conn.cursor()# 执行sql语句...

2018-09-12 12:46:11 256

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除