繁体   English   中英

如何检查哪个用户使用Django登录?

[英]How to check which user is logged in with Django?

我目前正在一个网站上工作,我想知道如何检查哪个用户已登录。只是为了澄清我正在使用 Django 内置模型from django.contrib.auth.models import User来进行我的login, logout etc.我不知道该怎么做是检查哪个用户登录,我知道方法

if user.is_authenticated:
    # Other code goes here

但是这种方法只检查用户登录的天气而不是哪个用户登录?

您可以在 request.user 方法中找到有关登录用户的信息

如果你想知道用户名,这里有一个例子:

username = request.user.username

如果您使用AuthenticationMiddleware [Django-doc] (如果您创建一个新项目,这是默认设置),那么此中间件将向请求添加一个.user属性 [Django-doc] 这是一个延迟加载的用户 model object,或者如果用户没有登录则为AnonymousUser [Django-doc]

但是,如果 tyhe 用户因此登录,这就是用户 model object就像其他任何用户一样。 因此,您可以从该 object 访问字段、方法等,并在创建 object 时使用它来让ForeignKey引用该用户。

例如,如果您使用默认User model [Django-doc] ,那么您可以访问request.user.first_namerequest.user.last_namerequest.user.username等属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM