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实例

posted on 2022-12-10 17:11  wfw001  阅读(30)  评论(0)    收藏  举报