2009-05-14 28 views
5

Tengo una página web en la que estoy haciendo bucles y uso de ciclo dentro del ciclo.Uso del ciclo en django

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

Ahora bien, esto significa que cada vez que dentro del bucle, primera etiqueta div se white.But, lo que quiero es alternar entre el blanco y negro es decir, comenzar con blanco, entonces la próxima vez cuando están dentro del bucle de comenzar la primera div etiqueta con negro. ¿Es posible lograrlo aquí?

Respuesta

0

Algo como esto podría funcionar (no probado):

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

Hay una aceptan bug abierta sobre este tema. Es posible que desee probar el cambio propuesto para ver si funciona para usted.

Si no desea intentarlo, o no funciona, dar a este un tiro:

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

Según tengo entendido, el ciclo comenzaría en blanco, y luego recorrer los valores de cada uno tiempo dentro del ciclo (lo que significa que no se reiniciará en blanco todo el tiempo).

Cuestiones relacionadas