[英]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.