我正在用python Django开发一个应用程序 我需要做的是根据模板中的计数器变量值为div分配一个类
{% with 1 as counters %}
{% for importance in all_importance %}
{% if counters == 1 %}
<div class="item active" >
{% else %}
<div class="item" >
{% endif %}
{% for image in importance.subtypemodelimage_set.all %}
<img src="{{ image.image.url }}" />
{% endfor %}
</div>
{% counters += 1 %}
{% endfor %}
{% endwith %}
但我面对这个问题
Invalid block tag: 'counters', expected 'empty' or 'endfor'
我在哪里弄错了,先谢谢你的帮助
答案 0 :(得分:4)
for循环设置了循环中可用的一些变量(django docs here中的完整列表):
...
forloop.first True if this is the first time through the loop
forloop.last True if this is the last time through the loop
...
您可以使用forloop.first
检查第一次循环迭代:
{% for importance in all_importance %}
{% if forloop.first %}
<div class="item active" >
{% else %}
<div class="item" >
{% endif %}
{% for image in importance.subtypemodelimage_set.all %}
<img src="{{ image.image.url }}" />
{% endfor %}
</div>
{% endfor %}
答案 1 :(得分:1)
问题在于
{% counters += 1 %}
没有标记counters
。您将变量解释为标记。
更多的是你无法在django模板中实现那种for循环。