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
    
  • 相关阅读:
    从 PHP 到 Java
    用Lua定制Redis命令
    见招拆招-PostgreSQL中文全文索引效率优化
    通过2-3-4树理解红黑树
    代码迁移之旅(二)- 渐进式迁移方案
    多线程编程
    Gotorch
    使用PostgreSQL进行中文全文检索
    代码重构之旅(一) 项目结构
    Linux“体检”指标
  • 原文地址:https://www.cnblogs.com/iFanLiwei/p/13039508.html
Copyright © 2011-2022 走看看