session
session
定义
保存在服务器上的一组组键值对,必须依赖cookie
为什么要有session?
- cookie保存在浏览器上,不太安全
- 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
做一篇有温度的技术博客
给人奋斗的热意
和生活的暖意