我试图根据条件在Django中创建一个类似于$i==0; $i++;
的迭代。
{% for item in event.products %}
{% if item.category = "Treat" %}
现在 - 我希望能够告诉我们满足这个条件的次数(category = treat)以及如何在匹配该循环的2个项目之后停止for循环。
谢谢!
答案 0 :(得分:0)
django模板系统不允许for循环中断或设置计数器,即使elsewhere显示如何在某些情况下克服此限制或如何create新模板标记可以帮助您,也许您可以事先计算出您的要求,并通过在视图中切片来准备要打印的列表。
答案 1 :(得分:0)
我同意@DRC,这种业务逻辑最好在您的视图代码中完成,而不是在模板中完成。
如果您仍需要模板解决方案:
{% regroup event.products by item.category as grouped_products %}
{% for group in grouped_products %}
{% if group.grouper == "Treat" %}
{% for item in group.list|slice:":2" %}
{{ item.imageURL }}
{% endfor %}
{% endif %}
{% endfor %}