• 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的应用

    缓存的使用

  • 相关阅读:
    LeetCode --- Climbing Stairs
    LeetCode --- Best Time to Buy and Sell Stock II
    LeedCode --- Best Time to Buy and Sell Stock
    git命令总结
    LeetCode --- Jump Game II
    Hdu 4497
    数据库lib7第4题创建存储过程
    Hdu 4496
    Hdu 4493
    快速排序
  • 原文地址:https://www.cnblogs.com/HU-HU/p/9682009.html
Copyright © 2020-2023  润新知