Python的平凡之路(22)

本节知识点概要

- 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
 
3. Model操作
   
    a. 字段类型 + 参数

b. 连表字段 + 参数

c. Meta

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

e. 验证(弱)

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

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

初始化操作:

6. 中间件

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

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

时间: 2024-10-13 04:57:43

Python的平凡之路(22)的相关文章

Python的平凡之路(8)

(本文是对平凡之路(7)的补充等) 一.动态导入模块 import importlib __import__('import_lib.metaclass') #这是解释器自己内部用的 #importlib.import_module('import_lib.metaclass') #与上面这句效果一样,官方建议用这个(亲测可用) 二.异常报错Raise使用 使用raise抛出异常 当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常.一旦执行了raise语句,raise

Python的平凡之路(4)

一.迭代器&生成器 生成器定义: 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了.所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间.在Python中,这种一边循环一边计算的机制 特点: 1 生成器只有在调用时才能生成相应的数据.

Python的平凡之路(6)

一.面向对象编程介绍 1 编程范式: 编程范式(Programming Paradigm)是某种编程语言典型的编程风格或者说是编程方式.随着编程方法学和软件工程研究的深入,特别是OO思想的普及,范式(Paradigm)以及编程范式等术语渐渐出现在人们面前.面向对象编程(OOP)常常被誉为是一种革命性的思想,正因为它不同于其他的各种编程范式.编程范式也许是学习任何一门编程语言时要理解的最重要的术语.编程范式是编程语言的一种分类方式,它并不针对某种编程语言.就编程语言而言,一种编程语言也可以适用多种

Python的平凡之路(13)

一.Python的paramiko模块介绍 Python 的paramiko模块,该模块和SSH用于连接远程服务器并执行相关操作 SSH client 用于连接远程服务器并执行基本命令 基于用户名和密码的SSH连接代码如下: 1 import paramiko 2 3 ssh = paramiko.SSHClient() #创建SSH对象. 4 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #允许连接不在know_hosts文

Python的平凡之路(16)

一.HTML+CSS补充 0.常用页面布局 <!DOCTYPE html> <html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> /*设置body样式*/ body{ margin: 0; } /*设置left样式*/ .left{ float: left; } /*设置right样式*/

Python的平凡之路(2)

一.标准库(sys & os): Python 的标准库(standard library) 是随着 Python 一起安装在你的电脑中的,是 Python 的一部分 (当然也有特殊情况.有些场合会因为系统安全性的要求,不使用全部的标准库,比如说Google App Engine).利用已有的类(class)和函数(function)进行开发,可以省去你从头写所有程序的苦恼. “这些标准库就是盖房子已经烧好的砖,要比你自己去烧砖来得便捷得多 ” ---解释的太到位! sys.path 打印环境变

Python的平凡之路(7)

一.面向对象高级语法部分 1.静态方法.类方法.属性方法 a 静态方法名字上归类管,实际上在静态方法里访问不了类或实例中的任意属性 静态方法.py #!/usr/bin/env python #Author is wspikh# -*- coding: encoding -*- #静态方法class Dog(object):    def __init__(self,name):        self.name = name @staticmethod #把eat方法变为静态方法,1 调用时主

Python全栈之路_01

Python全栈之路 前言:因为Python主要是在Linux和widows操作系统上使用所以,首先就介绍Pyhton在这两个平台上的安装和一些基础知识 Linux系统下安装Pyhton 1.工具 虚拟机:VMware workstation 12 Pro Linux系统:CentOS 64 位 VMware虚拟机安装很简单就不说明了. 在虚拟机安装CentOS 需要注意的是: 运行内存分配1G左右即可 可以开机按F2进入bios界面boot目录下选择启动设备选择Hard Drive为优先启动位

给iPhone找一条平凡之路

新款iPhone马上就要开发布会了,对于全世界的手机从业者来说,现在的感觉就好像中国人过年:早些时候,大家都盼着过年,放鞭炮.享受美食,小孩子还有压岁钱,但随着生活水平的提高,年味越来越淡,昔日的美好不复存在,甚至出现了"恐归族",逃到异国他乡,逃避过年.近年来的苹果发布会,也大有"过年"的趋势,最早的时候,全世界满怀期待,苹果也总能推出革命性产品,缔造了一个又一个经典瞬间,特别是iPhone3Gs到iPhone4的设计升级,简直亮瞎了双眼,那种感觉就好像父亲在95