我有一个视图,其中包含检索电影的所有评论对象的代码:
review = Review.objects.filter(movie= movie)
如何在html 中循环显示这些值,以便我只获得前3个评论对象?像评论[0]这样的索引似乎不起作用。
我在另一篇文章中看到你可以像这样循环遍历html中的所有对象(但这不是我想要的):
{% for obj in review %}
<p> {% obj.review_text %} </p>
{% endfor %}
答案 0 :(得分:2)
为什么不在您的视图中仅获取前3个项目并仅将其返回到上下文中?这似乎是最简单的解决方案。
first_3_reviews = Review.objects.filter(movie= movie)[:3]
或者,您可以使用forloop计数器(请参阅:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#for)仅显示前3个元素:
{% for obj in review %}
{% if forloop.counter < 3 %}
<p> {% obj.review_text %} </p>
{% endif %}
{% endfor %}
答案 1 :(得分:1)
尝试使用
{% for obj in review %}
<p> {{% obj.review_text %}} </p>
{% endfor %}
它将为您提供轻松使用对象的选项
答案 2 :(得分:1)
{% for obj in review[-3:] %}
这将检索审核中的最后3个项目