美文网首页
Django 通过session 获取用户ID

Django 通过session 获取用户ID

作者: 黑色汪汪汪 | 来源:发表于2018-02-02 11:33 被阅读0次

    首先,用户登录到服务器之后,会保存一个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 能直接拿到登录的用户名。

    相关文章

      网友评论

          本文标题:Django 通过session 获取用户ID

          本文链接:https://www.haomeiwen.com/subject/hwiszxtx.html