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的应用
缓存的使用
posted on 2018-09-30 15:48 PIANO_HUHU 阅读(194) 评论(0) 收藏 举报
浙公网安备 33010602011771号