• 第22天 django admin模块 Session CSRF Model操作 Form验证(ModelForm) 中间件详解 缓存 信号


    day22

    知识点概要
    - Session
    - CSRF
    - Model操作
    - Form验证(ModelForm)
    - 中间件
    - 缓存
    - 信号


    内容详细:

    1. Session
    基于Cookie做用户验证时:敏感信息不适合放在cookie中

    a. Session原理
    Cookie是保存在用户浏览器端的键值对
    Session是保存在服务器端的键值对

    b. Cookie和Session对比

    c. Session配置(缺少cache)

    d. 示例:实现两周自动登陆
    - request.session.set_expiry(60*10)
    - SESSION_SAVE_EVERY_REQUEST = True

    PS: cookie中不设置超时时间,则表示关闭浏览器自动清除


    - session依赖于cookie
    - 服务器session
    request.session.get()
    request.session[x] = x

    request.session.clear()

    - 配置文件中设置默认操作(通用配置):
    SESSION_COOKIE_NAME = "sessionid" # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串(默认)
    SESSION_COOKIE_PATH = "/" # Session的cookie保存的路径(默认)
    SESSION_COOKIE_DOMAIN = None # Session的cookie保存的域名(默认)
    SESSION_COOKIE_SECURE = False # 是否Https传输cookie(默认)
    SESSION_COOKIE_HTTPONLY = True # 是否Session的cookie只支持http传输(默认)
    SESSION_COOKIE_AGE = 1209600 # Session的cookie失效日期(2周)(默认)
    SESSION_EXPIRE_AT_BROWSER_CLOSE = False # 是否关闭浏览器使得Session过期(默认)
    # set_cookie('k',123)
    SESSION_SAVE_EVERY_REQUEST = False # 是否每次请求都保存Session,默认修改之后才保存(默认)

    - 引擎的配置

    2. CSRF
    a. CSRF原理

    b. 无CSRF时存在隐患

    c. Form提交(CSRF)

    d. Ajax提交(CSRF)
    CSRF请求头 X-CSRFToken


    6. 中间件

    7. 缓存
    5种配置
    3种应用:
    全局
    视图函数
    模板

    8. 信号
    - 内置信号
    - 自定义
    - 定义信号
    - 出发信号
    - 信号中注册函数

    3. Model操作

    a. 字段类型 + 参数

    b. 连表字段 + 参数

    c. Meta

    d. SQL操作:
    - 基本增删改查
    - 进阶操作
    - 正反查询
    - 其他操作

    e. 验证(弱)

    4. Form操作
    完成:
    - 验证用户请求
    - 生成HTML
    (保留上一次提交的数据)

    自定义:
    - 类
    - 字段(校验)
    - 插件(生成HTML)

    初始化操作:



    ============= 作业:xxxoo管理 =============
    用户验证:session
    新URL:Form验证
    中间件:IP过滤
    信号:记录操作
    CSRF:











    a. Form验证用户请求

    b. Form生成HTML

    c. Form字段详细(自定义字段,Model...) + 插件

    d. 自定义验证(钩子以及__all__)

    e. 注册示例:
    用户名、密码、邮箱、手机号(RegexValidator或RegexField)、性别、爱好、城市

    f. 初始化值

    5. ModelForm

    a. Model+Form功能集合

    b. save

    c. save + save_m2m

  • 相关阅读:
    常用工具-notepad++打开大文件卡死现象
    ORM框架之EntityFramework
    System.Data.Entity 无法引用的问题
    js 数组、对象转json 以及json转 数组、对象
    js中(function(){xxx})();写法解析以及function与!感叹号
    js 里面call()的使用
    Javascript继承机制的设计思想
    JS中let和var的区别
    利用JS实现图片的缓存
    实例详述FOR XML PATH用法
  • 原文地址:https://www.cnblogs.com/xyyhcn/p/10415527.html
Copyright © 2020-2023  润新知