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
    
  • 相关阅读:
    bzoj1724[Usaco2006 Nov]Fence Repair 切割木板*
    vue-cli脚手架和webpack-simple模板项目
    Vue-router 进阶
    前端路由vue-router介绍
    vue的一些特殊特性
    生命周期钩子
    过滤器
    RSA加密算法
    欧几里得算法
    动态规划
  • 原文地址:https://www.cnblogs.com/iFanLiwei/p/13039508.html
Copyright © 2011-2022 走看看