在django中使用循环

kos*_*ost 5 python django django-templates

我有一个网页,我循环,并在循环内使用循环.

{% for o in something %}
{% for c in o %}
 <div class="{% cycle 'white' 'black'%}"></div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

现在,这意味着每次循环内部,第一个div标签变为白色.但是,我想要的是在白色和黑色之间交替,即以白色开始,然后下一次在循环内部开始第一个带有黑色的div标签.这是可能的在这里实现?

Vin*_*vic 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 %}
Run Code Online (Sandbox Code Playgroud)