1.session流程
2.添加session
def index(request):
#添加session
request.session["set_session"] = "defaulit001"
return HttpResponse("测试效能")
设置session 比如:request.session["set_session"] = "defaulit001" 都发生了什么事情?
a:django内部会自动帮你生成一个随机的字符串
b:django内部自动将随机字符串和对应的数据存储到django_session表中
b-1:先在内存中产生操作数据的缓存
b-2:在响应结果django中间件的时候才真正的操作数据库
c:将存储的随机字符串返回给浏览器保存
3.获取session
def home(request):
# 获取session
test=request.session.get("set_session")
print(test)
return HttpResponse("如何衡量测试绩效")
获取session,比如:request.session.get("set_session")都发生了哪些事呢?
a:自动从浏览器请求中获取sessionid对应的随机字符串
b:拿着这个随机字符串去django_session表中查找对应的数据
c:和查找到的结果对比
c-1:如果匹配上啦,则将对应的数据取出并以字典的形式封装到request.session中
c-2:如果匹配不上,则request.session.get()返回None
4.设置session过期时间
def index(request):
request.session["set_session"] = "defaulit001"
#设置session过期时间
request.session.set_exprity(0)
return HttpResponse("AI测试赋能")
设置过期时间:request.session.set_expiry()
()里面可以指定四种数据:
1.秒数:表示在指定的秒数内过期
2.日期:表示到指定的日期过期
3.0:表示关闭浏览器立即失效
4.不写:失效时间默认是14天(django的默认失效时间是14天)
5.删除session
def index(request):
request.session["set_session"] = "defaulit001"
# 删除session的两种方式
request.session.delete()
request.session.flush()
return HttpResponse("线上bg逃逸率")
1.request.session.delete() 表示只删除服务端的session
2.request.session.flush() 表示删除浏览器和服务器的session
6.session生命周期
7.session实例
标签:set,return,过期,request,django,session,Django From: https://www.cnblogs.com/wfw001-2018/p/16971908.html