5

ループしているWebページがあり、ループ内でcycleを使用しています。

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

さて、これはループ内で最初のdivタグが白になることを意味しますが、私が欲しいのは白と黒を交互に切り替えることです。つまり、白で開始し、次にループ内で最初のdivタグを黒で開始します。ここで達成するには?

4

2 に答える 2

4

この問題について、accept bug open があります。提案された変更を試して、それが機能するかどうかを確認してください。

試したくない場合、またはうまくいかない場合は、これを試してみてください。

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

私が理解しているように、サイクルは白で始まり、ループ内で毎回値をループします(つまり、毎回白で再開するわけではありません)。

于 2010-09-22T02:03:26.807 に答える
0

このようなものが機能する可能性があります(テストされていません):

{% 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 %}
于 2009-05-14T07:10:21.017 に答える