我有一个网页,我正在循环,并在循环中使用循环。
{% for o in something %}
{% for c in o %}
<div class="{% cycle 'white' 'black'%}"></div>
{% endfor %}
现在,这意味着每次循环内部,第一个div标签变为白色。但是,我想要的是在白色和黑色之间交替,即以白色开始,然后下次在循环内部开始第一个带有黑色的div标签。有可能在这里实现吗?
答案 0 :(得分:4)
对此问题有一个接受bug。您可能需要尝试建议的更改以查看它是否适合您。
如果您不想尝试,或者它不起作用,请试一试:
{% cycle 'white' 'black' as divcolors %}
{% for o in something %}
{% for c in o %}
<div class="{% cycle divcolors %}"></div>
{% endfor %}
{% endfor %}
据我了解,循环将从白色开始,然后每次循环遍历循环中的值(意味着每次都不会以白色重新开始)。
答案 1 :(得分: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 %}