我觉得必须有一种更清洁的方式来做这样的事情。我有15个左右的对象列出了连续三个。有人知道更好的解决方案。
<ul>
{% for object in object_list %}
<li
{% ifequal forloop.counter 1 %}class="first"{% endifequal %}
{% ifequal forloop.counter 4 %}class="first"{% endifequal %}
{% ifequal forloop.counter 7 %}class="first"{% endifequal %}
{% ifequal forloop.counter 10 %}class="first"{% endifequal %}
{% ifequal forloop.counter 13 %}class="first"{% endifequal %}
>
{{ object.title }}
</li>
{% ifequal forloop.counter 3 %}<div class="clear"></div>{% endifequal %}
{% ifequal forloop.counter 6 %}<div class="clear"></div>{% endifequal %}
{% ifequal forloop.counter 9 %}<div class="clear"></div>{% endifequal %}
{% ifequal forloop.counter 12 %}<div class="clear"></div>{% endifequal %}
{% ifequal forloop.counter 15 %}<div class="clear"></div>{% endifequal %}
{% endfor %}
</ul>
对于第二个循环,您可以
{% if forloop.counter|divisibleby:"3" %}<div class="clear"></div>{% endif %}
但1,4,7,10,13没有共同点。
感谢任何帮助。
答案 0 :(得分:1)
您正在寻找forloop.counter0。
{% if forloop.counter0|divisibleby:"3" %}<div class="clear"></div>{% endif %}
答案 1 :(得分:0)
您可以使用切片将它们分成3行组,然后对每个3个单位切片执行相应的操作。
http://docs.djangoproject.com/en/dev/ref/templates/builtins/#slice