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