首页 Django视频课程 Django开发中session的操作方法演示
pay pay

Django开发中session的操作方法演示

日期: 六月 20, 2023, 5:35 p.m.
栏目: Django视频课程
阅读: 99
作者: Python自学网-村长

摘要: Django开发中session的操作方法演示

00:00 / 12:00
1x
2x
1.5x
1.25x
1x
0.8x
0.5x
>
django视图方法详解
    1. 第1课:了解Django视图views函数请求和响应
      12分钟
    2. 第2课:django视图HttpRequest请求类常用属性详解
      12分钟
    3. 第3课:HttpRequest GET属性的get()和getlist()方法讲解
      12分钟
    4. 第4课:HttpRequest POST属性的get()方法讲解
      12分钟
    5. 第5课:Django视图响应对象HttpResponse属性和参数讲解
      12分钟
    6. 第6课:HttpResponse头部信息增删改查和判断方法
      12分钟
    7. 第7课:HttpResponseCookies设置方法
      12分钟
    8. 第8课:HttpResponse方法-修改、刷新、判断响应对象主体内容
      12分钟
    9. 第9课:HttpResponse子类使用演示
      12分钟
    10. 第10课:Django render, redirect使用方法
      12分钟
    11. 第11课:cookies和session介绍和基本使用
      12分钟
    12. 第12课:Django开发中cookies的操作方法演示
      12分钟
    13. 第13课:Django开发中session的操作方法演示
      12分钟
    14. 第14课:Django views查询方法filter(),get(),all(),exclude()使用
      12分钟
    15. 第15课:Django视图查询条件过滤器一
      12分钟
    16. 第16课:Django视图查询条件过滤器二
      12分钟
    17. 第17课:Django视图查询条件过滤器三
      12分钟
    18. 第18课:Django ForeignKey一对多和多对一查询方法
      12分钟
    19. 第19课:Django视图多值查询(多条件并且查询)方法
      12分钟
    20. 第20课:Django ManyToManyField多对多查询:正查和反查方法
      12分钟
    21. 第21课:Django视图查询结果过滤器使用
      12分钟
    22. 第22课:Django视图聚合查询方法
      12分钟
    23. 第23课:Django视图创建和保存对象create(),save()的用法
      12分钟
    24. 第24课:创建一篇文章使用add()方法添加一个标签
      12分钟
    25. 第25课:创建一篇文章使用add()方法添加多个标签
      12分钟
    26. 第26课:使用remove(),clear()删除文章指定或所有标签
      12分钟
    27. 第27课:Django视图Q和F对象使用
      12分钟
    28. 第28课:视图中模型实例比较和接口参数处理详解
      12分钟
    29. 第29课:在虚拟环境中运行shell模式
      12分钟
    30. 第30课:shell模式中对django对象进行增删改查操作
      12分钟

设置session

调用request.session首先会接收请求头部的cookie是否有sessionid,进行表查询对比

如果有重新生成一个sessionid进行覆盖更新记录,并将随机生成的sessionid添加到cookie返回前端

没有则新建存进表中的session_key,同时将字典信息加密自动存进表中的session_data字段

request.session['status'] = True #  存在自动覆盖
request.session.setdefault('k1',123) #  存在则不设置

获取session

request.session['status']
request.session.get('status')#  一般用get,无此键返回None不报错

删除session

request.session.flush()  # 删除服务端的session,删除当前的会话数据并删除会话的Cookie。
request.session.clear_expired()  # 将所有Session失效日期小于当前日期的数据删除,将过期的删除
del request.session['']  # django-session表里面同步删除
request.session.delete('')  # 删除当前会话的所有***Session数据
request.session.clear()  # clear()是将缓存全部清空
request.session.set_expiry(30)
# 如果value是个整数,session会在些秒数后失效
# 如果value是个datatime或timedelta,session就会在这个时间后失效
# 如果value是0, 用户关闭浏览器session就会失效
# 如果value是None, session会依赖全局session失效策略
def blog(request):
    resp = HttpResponse('<h1>恭喜你,看到了第一个自定义页面</h1>')
    # ==============1.设置cookie=============== # 代码分割线 - 开始
    resp.set_cookie('age', '120')
    resp.set_signed_cookie('name', 'Tom')
    # ==============1.设置cookie=============== # 代码分割线 - 结束

    # ==============2.获取cookie=============== # 代码分割线 - 开始
    print(request.COOKIES['age'])
    print(request.COOKIES.get('age'))
    # print(request.get_signed_cookie('name'))
    # ==============2.获取cookie=============== # 代码分割线 - 结束
    
    # ==============3.删除cookie=============== # 代码分割线 - 开始
    # resp.delete_cookie('name')
    # ==============3.删除cookie=============== # 代码分割线 - 结束


    # ==============1.设置session=============== # 代码分割线 - 开始
    request.session['url'] = 'www.wakey.com.cn'
    request.session.setdefault('aaa', '999')
    # ==============1.设置session=============== # 代码分割线 - 结束

    # ==============2.获取session=============== # 代码分割线 - 开始
    print(request.session['url'])
    print(request.session.get('aaa'))
    # ==============2.获取session=============== # 代码分割线 - 结束
    
    # ==============3.设置有效期=============== # 代码分割线 - 开始
    request.session.set_expiry(0)
    # 如果value是个整数,session会在些秒数后失效
    # 如果value是个datatime或timedelta,session就会在这个时间后失效
    # 如果value是0, 用户关闭浏览器session就会失效
    # 如果value是None,session会依赖全局session失效策略
    # ==============3.设置有效期=============== # 代码分割线 - 结束
    
    # ==============4.删除session=============== # 代码分割线 - 开始
    request.session.flush('aaa')  # 删除当前会话session,退出登陆
    del request.session['aaa']  # 删除当前字段值
    request.session.delete('aaa')  # 删除当前会话所有session数据
    request.session.clear('aaa')  # 清除全部缓存,注销
    # ==============4.删除session=============== # 代码分割线 - 结束
    return resp

 

 

原创视频,版权所有,未经允许,切勿转载,违者必究!
回顶部