session是存放在服务端的,在django中使用session必须要先在数据库中创建django_session表,session相关信息都要依赖此表
获取session
request.session['status']
request.session.get('status')#一般用get,无此键返回None不报错
设置session
#在使用session之前必须在数据库创建相关的表(django_session)
#调用request.session首先会接收请求头部的cookie是否有sessionid,进行表查询对比
#如果有重新生成一个sessionid进行覆盖更新记录,并将随机生成的sessionid添加到cookie返回前端
# 没有则新建存进表中的session_key,同时将字典信息加密自动存进表中的session_data字段
request.session['status']=True # 存在自动覆盖
request.session.setdefault('k1',123) # 存在则不设置
删除session
request.session.flush()#删除服务端的session,删除当前的会话数据并删除会话的Cookie。
request.session.clear_expired()# 将所有Session失效日期小于当前日期的数据删除,将过期的删除
del request.session['k1']#django-session表里面同步删除
request.session.delete()# 删除当前会话的所有Session数据
更多session操作
# 所有 键