2009-05-14 6 views
5

Ich habe eine Webseite, wo ich Schleifen bin, und mit Zyklus innerhalb der Schleife.Verwendung von Zyklus in Django

{% for o in something %} 
{% for c in o %} 
<div class="{% cycle 'white' 'black'%}"></div> 
{% endfor %} 

Nun bedeutet dies jedes Mal in der Schleife, erster div-Tag wird white.But, was ich will, ist zwischen Weiß und Schwarz dh beginnen mit weißem, dann beim nächsten Mal zu wechseln, wenn innerhalb der Schleife den ersten div starten Tag mit schwarz.Ist es möglich, hier zu erreichen?

Antwort

0

Etwas Ähnliches könnte (ungetestet) arbeiten:

{% for o in something %} 
{% for c in o %} 
    {% ifchanged forloop.parent.counter %} 
    <div class="{% cycle 'white' 'black' %}"></div> 
    {% else %} 
    <div class="{% cycle 'black' 'white' %}"></div> 
    {% endifchanged %} 
{% endfor %} 
{% endfor %} 
4

Dort ist eine bug offen über dieses Thema akzeptieren ist. Sie können die vorgeschlagene Änderung versuchen, um zu sehen, ob es für Sie funktioniert.

Wenn Sie wollen es nicht versuchen, oder es funktioniert nicht, geben diese einen Schuss:

{% cycle 'white' 'black' as divcolors %} 
{% for o in something %} 
    {% for c in o %} 
     <div class="{% cycle divcolors %}"></div> 
    {% endfor %} 
{% endfor %} 

Wie ich es verstehe, würde der Zyklus am weißen beginnen und dann eine Schleife durch die Werte je Zeit innerhalb der Schleife (was bedeutet, dass Sie nicht jedes Mal bei Weiß neu starten).