session

session

定义

保存在服务器上的一组组键值对,必须依赖cookie

为什么要有session?

  1. cookie保存在浏览器上,不太安全
  2. cookie的大小和个数有限制

设置

request.session[key] = value 
request.session[is.login]=1

获取

request.session[key] #这样取值没有取值会报错
request.session.get(key)

删除

request.session.pop('is_login')
request.session.delete()  #  删除所有的session数据
request.session.flush()   #  删除所有的session数据和cookie

其他

request.session.clear_expired()		#清除过期的session  ?
request.session.set_expiry(value)   #设置session过期的时间

配置

from django.conf import global_settings
#在global_settings中查看全局配置
#在settings中覆盖修改

SESSION_COOKIE_NAME = 'session'   # cookie的名字
SESSION_SAVE_EVERY_REQUEST = True  # 每次请求都更新session
SESSION_EXPIRE_AT_BROWSER_CLOSE = True  # 浏览器关闭session就失效

SESSION_ENGINE = 'django.contrib.sessions.backends.db'
from django.contrib.sessions.backends import db #session在哪储存
# 数据库  缓存  缓存+数据库  文件 加密cookie
posted @ 2019-12-19 18:35  谢国宏  阅读(420)  评论(0编辑  收藏  举报