我想通过从视图传递的一组用户对象在模板中显示用户名。
假设:
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>
但我想知道是否有办法让用户使用其设置对象。您将非常感谢帮助。谢谢。
答案 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
至少包含一条记录。