赞
踩
目录
基于http协议的请求与响应是无状态的,为了解决无状态问题(每次见面如初见),引入了cookie,在cookie的基础上引入了更安全私密的session
cookie数据保存在客户端
- def set_cookie(res):
- resp = HttpResponse('sz')
- resp.set_cookie('username', 'cjh', max_age=600)
- resp.set_cookie('username2', 'zfc', max_age=600)
- return resp
session数据保存在服务器端,但是会在cookie保存一个sessionid用来与服务器端的session对象对应
- def set_session(res):
- res.session['username'] = 'cjh'
- res.session['username2'] = 'zfc'
- return HttpResponse('sz')
- def get_cookie(res):
- n1 = res.COOKIES['username']
- n2 = res.COOKIES['username2']
- return HttpResponse(n1 + ' ' + n2)
- def get_session(res):
- n1 = res.session['username']
- n2 = res.session['username2']
- return HttpResponse(n1 + ' ' + n2)
注意:在使用session前需要先读取配置一下django自带的数据库,在每次启动django的时候django都会提示你去配置,去复制一下粘贴到控制台运行一下就好了
在数据库中保存着的有session的对象表,我们可以通过sessionid去获取
sessionid去哪里找呢,我们直接在cookie中就可以看到了
- # 获取session对象
- session = Session.objects.get(pk='897dla12kppc7e9sgq1y9d1cyiotzcuh')
- # 会打印sessionid
- print(session)
- # 会打印session表中的数据,数据是经过加密的
- print(session.session_data)
- # 会打印session中解密过后的数据
- print(session.get_decoded())
也可以对session对象使用clear方法清空你自己添加一些键与值
也可以使用flush方法直接删除整个session对象(不推荐)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。