为了账号安全,请及时绑定邮箱和手机立即绑定

关于Django中session的问题

关于Django中session的问题

慕九州4344896 2019-07-31 14:30:26
请教下关于Django中session的问题。我设置了一个session并运行保存到了默认的数据库django_session表中。但是session.get('key')后显示为None,get.item()后发现是个空字典。请教这可能是由什么原因形成的呢?
查看完整描述

1 回答

?
pardon110

TA贡献1038条经验 获得超227个赞

sessionid没有入库

查看完整回答
反对 回复 2019-07-31
  • 慕九州4344896
    慕九州4344896
    求教,能否详细讲一下。 如果直接在后台程序中get,不通过前端COOIKE传递,就无法取值吗?
  • 慕九州4344896
    慕九州4344896
    def authorize_by_code(request): request.session['is_authorized'] = True request.session['openid'] = openid class user_info_post(View): def post(self, request): print(request.session.keys()) def get(self, request): print(request.session.keys()) return HttpResponse(request.session.get('openid')) 之前已经通过authorize_by_code将session写进数据库里,再运行user_info_post,值为None
  • pardon110
    pardon110
    session入库只是一个持久化存储动作,cookie作用仅仅只是在回写sessionid。客户端在第一次请求时,服务端不仅要检查是否携带sessionid(不存在则需要服务端生成,在此你需要入库,同理读取的时,你需要根据sessionid从表内找到用户信息),还需要作必要的回写,比如写在http header头,url或其他加密标签,Django本身自己的一套实现机制
点击展开后面2
  • 1 回答
  • 0 关注
  • 2161 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号