【发布时间】:2009-10-29 06:03:23
【问题描述】:
我觉得必须有一种更清洁的方式来做这样的事情。我有 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 没有共同点。
感谢任何帮助。
【问题讨论】:
标签: refactoring django-templates for-loop