Django 通过session 获取用户ID

首先,用户登录到服务器之后,会保存一个key:value 值,就是session.

这个key呢,是系统随机生成的一个随机字符串,用来表示唯一的身份。

比如:87234EFFDIDf7234D:{'id':1,'username':"zhangsan",'account':0001,}

Value,就是这个key中保存的数据。默认字段:['_auth_user_id', '_auth_user_backend', '_auth_user_hash']

如果我们登录之后,想直接获取用户ID,就通过:
request.session.get('_auth_user_id')
这样就获取了用户的ID。
这里是通过Django Auth 验证登录。通过这个方法及时有效的获取到用户ID。

有了这个ID,再到user表里去查用户名就很简单了不是?

如果想在session中存入用户名(省去数据库查询步骤),在login的时候,验证ok,就在value里面加一个'name'或者'username'(自己定义),把用户名赋值进去就ok啦。

小白的我天真的以为,第二个用户登录,这个name的值就被覆盖了,错了,第二个人的key值又是一个新的随机字符串。

方法:request.session['username'] = username(后面的username是个变量)

----------------------待验证------------------
上面的方法还是太麻烦了,直接request.user 能直接拿到登录的用户名。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • 经过对django的初步学习,我们已经对后台的基本流程以及django的运作有了一定的了解,但是这还不足够,dja...
    coder_ben阅读 3,853评论 8 34
  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,215评论 22 257
  • 故事大概是这样的,女儿吉蒂是爸爸的二女儿,她性格比较温和,是大家眼中的乖乖女,读书成绩也比她的姐姐好。姐姐经常不读...
    西式风阅读 200评论 0 0
  • 有一种人,他们从小就历经了各种坎坷。 他们的父母不喜欢他,身边的小伙伴也欺负他。但即便是这样,他们也有自己的梦想,...
    Mr绍君阅读 611评论 1 6