bootstrap - ¿Cómo acceder a forloop.counter más externo con anidados para bucles en las plantillas de Django?
django templates bootstrap (2)
Puede usar forloop.parentloop
para llegar al forloop
externo, por lo que en su caso {{forloop.parentloop.counter}}
.
¿Es posible acceder al forloop.counter para el bucle for externo en la siguiente plantilla en Django:
{% for outerItem in outerItems %}
{% for item in items%}
<div>{{ forloop.counter }}. {{ item }}</div>
{% endfor %}
{% endfor %}
forloop.counter devuelve el contador de bucle más interno en el ejemplo anterior
también puedes usar with
Almacena en caché una variable compleja bajo un nombre más simple. Esto es útil cuando se accede a un método "costoso" (por ejemplo, uno que golpea la base de datos) varias veces.
{% for outerItem in outerItems %}
{% with forloop.counter as outer_counter %}
{% for item in items%}
<div>{{ outer_counter }}. {{ item }}</div>
{% endfor %}
{% endwith %}
{% endfor %}
si usa la versión alta de Django puede usar
{% with outer_counter = forloop.counter %}
Lo he comprobado, Django 1.4.x - Django 1.9.x admite los dos métodos.
esto es más claro cuando tienen muchos bucles for