zoukankan      html  css  js  c++  java
  • Django Session管理

    Session是存储在服务器端的用户凭证,安全性比Cookie要高,Django是将Session信息存放在Cookie里面。用户一旦禁用Cookie,就不能用了。
    Session不光可以存储在Cookie里面,如果前端将其存储在页面中,作为全局变量,每次发送,都携带上,和放在Cookie里面的效果是一样的,只是放在Cookie里面简单点。
    前后端分离的项目,一般都是将Session凭证放在Header里面,起名叫做Token。

    Session的存储形式

    # 数据库保存,默认
    SESSION_ENGINE = 'django.contrib.sessions.backends.db'
    
    # 文件形式保存
    SESSION_ENGINE = 'django.contrib.sessions.backends.file'
    # 文件保存的路径
    SESSION_FILE_PATH = '/cache/session'
    
    # 缓存形式保存
    SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
    # 缓存名称
    SESSION_CACHE_ALIAS = 'default'
    
    # 数据库+缓存
    SESSION_ENGINE = 'django.contrib.sessions.backends.cache_db'
    
    # cookie
    SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies'
    

    session的操作

    # 如果不存在,则报错
    request.session['token']
    # 如果不存在,返回None
    request.session.get('token')
    # 设置默认值
    request.session.setdefault('token', '')
    # 更新值
    request.session['token'] = ''
    # 删除值
    del request.session['token']
    # 清空session
    request.session.clear()
    # session中的键
    request.session.keys()
    # session中的值
    request.session.values()
    # session的session_key,django_session中的session_key
    request.session.session_key
    
  • 相关阅读:
    字典-dict
    队列-deque
    with-as 语句
    odoo 在"动作"("Action")菜单中添加子菜单, 点击子菜单弹窗自定义form
    odoo onchange readonly
    pyhton 连接 oracle
    PyCharm WSL 配置
    docker 安装 oracle
    docker 安装 mssql
    odoo =like
  • 原文地址:https://www.cnblogs.com/iFanLiwei/p/13039508.html
Copyright © 2011-2022 走看看