繁体   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