Python3.5 学习二十二

回顾:

发送请求时:发送请求头和请求数据 request.META和request.request.body
响应请求时:响应头和响应返回数据 response.HEADER和response.body

Models操作:
单表
多表
多表可以互相调用另一个表,通过外键,#b_set
模板操作:
a 基本操作
b 继承 母版
c include 组件
d. simple_tag,filter
simple_tag 可以接收任意参数、返回内容也会在页面显示 不能用于if else判断条件
filter() 可以跟if else 但参数不能加空格
Session:
基本操作:
通用操作:
存储方式操作:
CSRF的使用(通过Form方式提交CSRF才有效):
Form请求:
Ajax请求:



在Ajax中,有种简单方式:

全局加上CSRF,如果个别函数不需要认证,则增加装饰器:

如果全局不加CSRF,如果个别函数需要认证,则增加装饰器:

以下四种方式,是不需要加csrftoken的

Django之中间件(/管道/hTTP HANDLE):
请求穿过中间件,结果再穿过中间件

明白中间件的原理
中间件用途:
公共校验
黑名单过滤

process_request和process_response函数名不能变
1 process_request
2 process_view 可以获得view函数
3 路由映射
4 process_response
5 process_exception 如果view函数报错,则执行 可以对views报错做特殊处理,没出错则不执行
6 process_template_response 默认不执行,如果views中的函数,返回的对象中具有render方法,则这个函数会执行。没什么用,知道就可以。

缓存:
缓存的五种模式

默认配置:





调权重:



Django中提供三个级别的缓存应用:
1 对视图函数做缓存

超时时间:10s
如果函数参数不同,缓存则不同
2 对单个HTML标签做缓存:

3 全站缓存
例如博客
实现方式:借用中间件原理

总结:
缓存有五种配置方式,三种应用方式,了解其实现原理
测试时最简单的是文件缓存模式。
根据生命周期的原理,三种应用方式的优先级:1全站 > 2视图函数 > 3缓存标签
信号:
钩子

信号导入:
原生内置信号:

信号关联函数:

信号注册

自定义信号:
1 创建信号
2 主动触发信号
3 信号中注册函数

相当于插拔式操作,降低耦合度
Form
完成:
-验证用户请求
-生成HTML标签(保留上一次提交的数据)

有3个简单形式:
<table>
obj.as_table
</table>
obj.as_p
obj.as_ul
但是建议使用上面第一种方式,自定制性比较强。

自定义:
类
字段
插件(生成HTML)
初始化操作:

学习笔记官方;
https://www.cnblogs.com/wupeiqi/articles/6144178.html
插件里面都可以增加Attrs进行属性定制
作业:
做什么随意
以下要求:
用户登录验证用session
标准:完成一个组件
新URL方式
Form验证
尽量多的用本次知识点
中间件:IP过滤
信号:增减数据时做记录
CSRF的应用
缓存的使用
Python3.5 学习二十二的更多相关文章
- python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL
python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...
- python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字
python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...
- Go语言学习笔记十二: 范围(Range)
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...
- Tensorflow深度学习之十二:基础图像处理之二
Tensorflow深度学习之十二:基础图像处理之二 from:https://blog.csdn.net/davincil/article/details/76598474 首先放出原始图像: ...
- 学习笔记:CentOS7学习之二十二: 结构化命令case和for、while循环
目录 学习笔记:CentOS7学习之二十二: 结构化命令case和for.while循环 22.1 流程控制语句:case 22.2 循环语句 22.1.2 for-do-done 22.3 whil ...
- (C/C++学习笔记) 二十二. 标准模板库
二十二. 标准模板库 ● STL基本介绍 标准模板库(STL, standard template library): C++提供的大量的函数模板(通用算法)和类模板. ※ 为什么我们一般不需要自己写 ...
- python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置
python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置Download JetBrains Python IDE :: PyCharmhttp://www. ...
- Bootstrap <基础二十二>超大屏幕(Jumbotron)
Bootstrap 支持的另一个特性,超大屏幕(Jumbotron).顾名思义该组件可以增加标题的大小,并为登陆页面内容添加更多的外边距(margin).使用超大屏幕(Jumbotron)的步骤如下: ...
- Web 前端开发精华文章推荐(HTML5、CSS3、jQuery)【系列二十二】
<Web 前端开发精华文章推荐>2014年第一期(总第二十二期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML ...
- VMware vSphere 服务器虚拟化之二十二桌面虚拟化之创建View Composer链接克隆的虚拟桌面池
VMware vSphere 服务器虚拟化之二十二桌面虚拟化之创建View Composer链接克隆的虚拟桌面池 在上一节我们创建了完整克隆的自动专有桌面池,在创建过程比较缓慢,这次我们将学习创建Vi ...
随机推荐
- 得到一个Object的属性
private static object GetPropertyValue(object obj, string property) { System.Reflection.PropertyInfo ...
- PHP字符串位置相关的函数
strpos函数 描述:将返回一个字符串在另一个字符串第一次出现的位置 语法:int strpos(string haystack, mixed needle [,int offset]); 相反地 ...
- 泛型c#(深入理解c#)
1.泛型带来的好处非常像静态语言较之动态语言的优点:更好的编译时检查,更多在代码中能直接表现的信息,更多的IDE支持,更好的性能.泛型的好处之一就是在编译时执行更多的检查,所以等到编译不在报错时,就极 ...
- 2019.01.02 poj1322 Chocolate(生成函数+二项式定理)
传送门 生成函数好题. 题意简述:一个袋子里有ccc种不同颜色的球,现要操作nnn次,每次等概率地从袋中拿出一个球放在桌上,如果桌上有两个相同的球就立刻消去,问最后桌上剩下mmm个球的概率. 第一眼反 ...
- 1.2OpenCV如何扫描图像,利用查找表和计时
查找表 颜色缩减法:如果矩阵元素存储的是单通道像素,使用C或C++的无符号字符类型,那么像素可有256个不同值. 但若是三通道图像,这种存储格式的颜色数就太多了(确切地说,有一千六百多万种).用如此之 ...
- Solidity合约:玉米生产溯源
实现思路: 首先用地址与每个结构进行映射,将关键信息储存在结构体中:或者将关键信息在外部通过json储存,内部储存对应的hash值: 使用issue函数表示:玉米地中收获足够数量的玉米并进行记录: 使 ...
- 分布式的CAP理论
CAP是强一致性.可用性(实时可用).分区容忍性: Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性) 一般来说 P 是前提. ...
- 腾讯云 centos 一键安装nginx环境
这里测试centos版本为7.4 进入命令行直接敲入一下代码 $ yum install nginx 根据提示 进行确认 下一步 即可安装完毕: 服务器默认根目录为 : /usr/share/ngin ...
- mysql碰到unknown variable 'xxxx' 的解决方法
在使用mysqlbinlog查看日志的时候碰到了一个问题, 错误提示如下: /usr/local/mysql/bin/mysqlbinlog: unknown variable 'default-ch ...
- Docker Compose部署 nginx代理Tomcat集群
一.简介 使用Docker镜像部署Nginx代理的多个Tomcat集群: 使用Dockerfile构建nginx镜像 使用Dockerfile构建tomcat镜像 mysql镜像使用docker hu ...