Django:如何通过用户ID获取用户全名

6

我的模型:

author=models.ForeignKey(User)

用户ID(例如174948)保存在列author_id中。 在模板中,我使用{{post.author}}显示用户ID。 我还想显示该特定用户的全名。 如何在模板中实现这一点?

3个回答

14

通过使用执行此操作的方法。

{{post.author.get_full_name}}

1
由于某些原因,它不起作用。它没有显示任何东西。 - user3760940
@user3760940:我用错了方法。试试这个。 - Ignacio Vazquez-Abrams
1
我猜那是正确的方式,但仍然没有显示任何东西。 - user3760940
@user3760940:Userdjango.contrib.auth.User 吗? - Ignacio Vazquez-Abrams
如果你是指这个 from django.contrib.auth.models import User,那么是的。 - user3760940

11

这取决于用户对象是否设置了名字和/或姓氏字段。

如果没有设置(例如刚创建一个新用户),则调用{{ post.author.get_full_name }}可能返回一个空字符串。

这种方法更可靠:

{{ post.author.get_full_name|default:post.author.username }}

2
另一种方法
{{post.author.first_name}} {{post.author.last_name}} 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接