我有一个视图,其中包含检索电影的所有审阅对象的代码:

review = Review.objects.filter(movie= movie)

如何在html中循环这些值,以便只获取前3个review对象?类似索引的评论[0 ]似乎不起作用。
我在另一篇文章中看到,你可以像这样循环浏览html中的所有对象(但这不是我要找的):
{% for obj in review %}
  <p> {% obj.review_text %} </p>
{% endfor %}

最佳答案

为什么不在你的视图中只获取前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 %}

关于python - 如何在html文件中遍历Django查询集?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26810567/

10-15 20:49