Session会话的工作原理
- request.sessioon:用来获取session
当用户使用session(request.session)的时候,服务器会获取浏览器对应的Cookie(request, COOKIES)并找到cookie name = session id 的cookie
如果找不到(第一次使用session),服务器会创建一个session对象,并将session的ID写入到浏览器的cookie中(用reponse.addCookie), name = sessionid ,value = session的ID
如果找到了sessionid对应的cookie,通过cookie对应的value值,去服务器中获取session对象
Session适合存放的数据特点
- django中的session存储的数据,必须能够JSON序列化
- 和用户相关的数据
- 用户指的是浏览器
session的默认存活时间是:2周
SESSION_COOKE_AGE = :用于设置session的存活时间
SESSION_EXPIRE_AT_BROWSER_CLOSE:设置session随浏览器关闭过期
session的操作
给session传值:
request.session[key] = value
清楚过期的session:
request.session.clear_expired()
销毁当前的session:
request.session.flush