2009-10-29 4 views
0

이런 일을하는 데 더 깨끗한 방법이 필요하다고 생각합니다. 15 개 정도의 물건이 3 개씩 나열되어 있습니다. 누구든지 더 나은 솔루션을 알고 있습니다.Refactor Django template forloop

<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는 공통 분모를 가지고 있겠지 할 수 있습니다.

도움을 주시면 감사하겠습니다.

답변

1

당신은 forloop.counter0 찾고 있습니다.

{% if forloop.counter0|divisibleby:"3" %}<div class="clear"></div>{% endif %}