django - 如何从模板中的用户对象集中显示用户

django - How to display the user from the set of its user objects in the template

我想通过从视图传递的用户对象集在模板中显示用户名。

假设:

user = User.objects.get(username='user')
status_list = user.status_set.all()

现在,如何获取模板中的用户名:

<h3>{{status_list.user.username}}</h3>

我知道我可以在视图中传递状态的用户:

{'status_user':user, 'status_list':status_list}

然后在模板中为:

<h3>{{status_user.username}}</h3>

但我想知道是否有办法让用户使用它的设置 objects.You 帮助将不胜感激。谢谢。

按原样传递用户:

return render(request, 'statuses.html', {'status_user': user})

并在模板中访问 status_set 属性:

<h3>{{ status_user.username }}</h3>

<ul>
{% for status in status_user.status_set.all %}
    <li>{{ status }}</li>
{% endfor %}
</ul>

作为替代方案,您可以将 status_list 传递给模板并显示第一个元素的 user

<h3>{{ status_list.0.user.username }}</h3>

但你应该确定 status_list 至少包含一条记录。