{% for p in posts %}
<div id="even">{{ p.title }}</div>
<div id="odd">{{ p.title }}</div>
{% endfor %}
我需要创建这样的东西:
{% for p in posts %}
{% if forloop_count is even %}
<div id="even">{{ p.title }}</div>
{% else %}
<div id="odd">{{ p.title }}</div>
{% endif %}
{% endfor %}
如何检查循环计数? (无论是偶数还是奇数)
答案 0 :(得分:3)
这是您真正的基本要求,还是您只是想在两个div类之间循环?他们必须是奇数/偶数,还是只是交替?
{% for o in some_list %}
<tr class="{% cycle 'row1' 'row2' %}">
...
</tr>
{% endfor %}
参考:https://docs.djangoproject.com/en/dev/ref/templates/builtins/
在你的情况下,它将是:
{% for p in posts %}
<div id="{% cycle 'even' 'odd' %}">{{ p.title }}</div>
{% endif %}
答案 1 :(得分:2)
{% for p in posts %}
{% if forloop.counter|divisibleby:"2" %} {# is even #}
<div id="even">{{ p.title }}</div>
{% else %}
<div id="odd">{{ p.title }}</div>
{% endif %}
{% endfor %}
或者仅仅针对ID使用cycle,例如
{% cycle 'odd' 'even' %}