簡體   English   中英

如何在 django 中獲取當前用戶數據

[英]How to get current user data in django

我正在嘗試獲取已記錄的用戶數據,但我得到了唯一的用戶名

我嘗試這些代碼

 user= User.objects.get(id=user_id)
 user= User.objects.filter(id=emp_data.user_id).first()
 user =request.user

這 3 個查詢返回用戶名

如何獲取用戶詳細信息

嘗試這個:

user = User.objects.get(id=user_id)
print(user.__dict__)

這將為您提供用戶類的所有屬性

這些查詢不返回實際返回用戶對象的用戶名。 您可以訪問對象屬性,如 user.name user.email 等

可能您正在使用print()函數來打印對象,因此您會看到用戶名。 此用戶名來自此實現( GitHub 上的源代碼):

def __str__(self):
    return self.get_username()

其中get_username()方法返回用戶名,print 執行__str__函數。 如果您想查看對象的更多屬性或方法,請使用print(dir(user))或使用您的 IDE(或使用pdb )進行調試。 您可以通過type(user)函數查看對象的類型。

你可以試試:

def user_information(request, pk):
    user_infor = get_objects_or_404(User, id=pk)
    return render(request, 'infor.html', {'user_infor':user_infor})

在您的 infor.html 中,您可以通過以下方式獲取用戶信息:

<p>{{user_infor.user.email}}</p>
<p>{{user_infor.user.username}}</p>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM