2009-05-14 14 views
5

Dönmekte olduğum bir web sayfam var ve döngü içinde döngü kullanıyorum.Django'da döngü kullanımı

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

Şimdi, bu döngünün içinde her şey, birinci div etiketi istediğim şey döngüsü içindeki ilk div başladığınızda beyaz, daha sonra bir dahaki sefere başlamak yani beyaz ve siyah arasında alternatif etmektir white.But, alacağı anlamına gelir siyah ile etiket. Buraya ulaşmak mümkün mü? Böyle

cevap

0

şey (denenmemiş) işe yarayabilecek:

{% 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

bir bu konuda açık bug kabul yoktur. Sizin için uygun olup olmadığını görmek için önerilen değişikliği denemek isteyebilirsiniz. Anladığım kadarıyla

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

, çevrim beyaz başlar ve değerler her birinin içinden sonra döngü olacaktır: Bunu denemek istemiyorum, ya da işe yaramazsa

, bu denemek Döngü içinde zaman (her seferinde beyaza tekrar basmayacağınız anlamına gelir).