[英]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_name
、 request.user.last_name
、 request.user.username
等屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.