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

时间:2015-01-21 08:58:31

标签: django django-templates django-views

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

假设:

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>

但我想知道是否有办法让用户使用其设置对象。您将非常感谢帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

按原样传递用户:

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至少包含一条记录。