回顾:

发送请求时:发送请求头和请求数据  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 学习二十二的更多相关文章

  1. python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL

    python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...

  2. python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字

    python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...

  3. Go语言学习笔记十二: 范围(Range)

    Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...

  4. Tensorflow深度学习之十二:基础图像处理之二

    Tensorflow深度学习之十二:基础图像处理之二 from:https://blog.csdn.net/davincil/article/details/76598474   首先放出原始图像: ...

  5. 学习笔记:CentOS7学习之二十二: 结构化命令case和for、while循环

    目录 学习笔记:CentOS7学习之二十二: 结构化命令case和for.while循环 22.1 流程控制语句:case 22.2 循环语句 22.1.2 for-do-done 22.3 whil ...

  6. (C/C++学习笔记) 二十二. 标准模板库

    二十二. 标准模板库 ● STL基本介绍 标准模板库(STL, standard template library): C++提供的大量的函数模板(通用算法)和类模板. ※ 为什么我们一般不需要自己写 ...

  7. python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置

    python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置Download JetBrains Python IDE :: PyCharmhttp://www. ...

  8. Bootstrap <基础二十二>超大屏幕(Jumbotron)

    Bootstrap 支持的另一个特性,超大屏幕(Jumbotron).顾名思义该组件可以增加标题的大小,并为登陆页面内容添加更多的外边距(margin).使用超大屏幕(Jumbotron)的步骤如下: ...

  9. Web 前端开发精华文章推荐(HTML5、CSS3、jQuery)【系列二十二】

    <Web 前端开发精华文章推荐>2014年第一期(总第二十二期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML ...

  10. VMware vSphere 服务器虚拟化之二十二桌面虚拟化之创建View Composer链接克隆的虚拟桌面池

    VMware vSphere 服务器虚拟化之二十二桌面虚拟化之创建View Composer链接克隆的虚拟桌面池 在上一节我们创建了完整克隆的自动专有桌面池,在创建过程比较缓慢,这次我们将学习创建Vi ...

随机推荐

  1. jsvascript null,undefined,undeclared的区别

    1.undefined表示"缺少值",就是此处应该有一个值,但是还没有定义,转为数值时为NaN.典型用法是: (1)变量被声明了,但没有赋值时,就等于undefined. (2) ...

  2. Nodejs+Mongo+WebAPI

    Nodejs+Mongo+WebAPI集成 1.[ 目录]: |- models/bear.js |- node_modules/ |- express |- mongoose |- body-par ...

  3. mybatis @SelectKey加于不加的区别

    正常情况下,我们设置表的主键自增,然后: @Insert("insert into miaosha_order (user_id, goods_id, order_id)values(#{u ...

  4. 2018.12.14 codeforces 922E. Birds(分组背包)

    传送门 蒟蒻净做些水题还请大佬见谅 没错这又是个一眼的分组背包. 题意简述:有n棵树,每只树上有aia_iai​只鸟,第iii棵树买一只鸟要花cic_ici​的钱,每买一只鸟可以奖励bbb块钱,从一棵 ...

  5. TortoiseGit使用笔记

    不喜欢敲命令行,或者用惯TortoiseSVN的也可以使用TortoiseGit 1. TortoiseGit安装 安装很简单,默认安装就可以.需要安装以下几个软件: l Git-2.14.3-64- ...

  6. ubuntu16.04 编译安卓4.2

    1. root@ge-Lenovo:/usr/lib/jvm# cd /home/material/install/jdk/    jdk-6u29-linux-x64.bin  jdk-6u45-l ...

  7. 5.Vue临时上传文件夹

    1.在项目目录中,通过npm install multiparty进行安装必要组件npm install multiparty --save-dev 2.app.js中添加app.use(bodyPa ...

  8. 【1】ASP.NET异步(1)

    图标说明了异步的基础认识. 1.如果没有Ajax,提交之后整个页会刷新(左图).右图所示的虚线范围区域加入了ajax技术,提交之后只更新了虚线区域的内容,这样看比较直白. <form>①& ...

  9. Java应用分类

    Java应用分类     一.应用程序.指在操作系统上直接运行的,不是浏览器,Java环境用本机的,需要在客户端安装,Java环境可以一起安装.         1.GUI图形界面应用程序       ...

  10. (转)忘记wamp-mysql数据库root用户密码重置方法

    转自:http://www.jb51.net/article/28883.htm 1.打开任务管理器,结束进程  mysqld-nt.exe . 2.运行命令窗口 1)进行php服务管理器安装目录中的 ...