簡體   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