当前位置:   article > 正文

第六章:django中的cookie与session_django session取得哪里数据

django session取得哪里数据

 系列文章目录

第一章 :Django安装与配置虚拟环境

第二章:django各模块的作用以及参数说明

第三章:  Django的路由与视图

第四章:django请求

第五章:django会话



前言

基于http协议的请求与响应是无状态的,为了解决无状态问题(每次见面如初见),引入了cookie,在cookie的基础上引入了更安全私密的session

一、设置cookie

cookie数据保存在客户端

  1. def set_cookie(res):
  2. resp = HttpResponse('sz')
  3. resp.set_cookie('username', 'cjh', max_age=600)
  4. resp.set_cookie('username2', 'zfc', max_age=600)
  5. return resp

max_age:有效时间

二、设置session

session数据保存在服务器端,但是会在cookie保存一个sessionid用来与服务器端的session对象对应

  1. def set_session(res):
  2. res.session['username'] = 'cjh'
  3. res.session['username2'] = 'zfc'
  4. return HttpResponse('sz')

 三.获取cookie与session

1.获取cookie

  1. def get_cookie(res):
  2. n1 = res.COOKIES['username']
  3. n2 = res.COOKIES['username2']
  4. return HttpResponse(n1 + ' ' + n2)

2.获取session

  1. def get_session(res):
  2. n1 = res.session['username']
  3. n2 = res.session['username2']
  4. return HttpResponse(n1 + ' ' + n2)

3.效果

三.session管理工具

注意:在使用session前需要先读取配置一下django自带的数据库,在每次启动django的时候django都会提示你去配置,去复制一下粘贴到控制台运行一下就好了

 在数据库中保存着的有session的对象表,我们可以通过sessionid去获取

sessionid去哪里找呢,我们直接在cookie中就可以看到了

  1. # 获取session对象
  2. session = Session.objects.get(pk='897dla12kppc7e9sgq1y9d1cyiotzcuh')
  3. # 会打印sessionid
  4. print(session)
  5. # 会打印session表中的数据,数据是经过加密的
  6. print(session.session_data)
  7. # 会打印session中解密过后的数据
  8. print(session.get_decoded())

 也可以对session对象使用clear方法清空你自己添加一些键与值

也可以使用flush方法直接删除整个session对象(不推荐)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/559544
推荐阅读
相关标签
  

闽ICP备14008679号