Avec django il est possible d'avoir un compteur pour une boucle for dans un template en utilisant la syntaxe suivante: forloop.counter, exemple:
{% for i in Mylist %}
{{forloop.counter}}
{% endfor %}
qui va afficher:
1
2
3
.
.
.
Il est possible d'avoir un compteur qui commence avec 0 plutôt que 1 (par défaut). Dans ce cas il faut utiliser la symtaxte suivante:
{{forloop.counter0}}
pour avoir
0
1
2
3
.
.
.
Note: Dans le cas d'une boucle dans une autre boucle il est également possible d'obtenir un compteur correspond à la boucle parente en utilisant {{forloop.parentloop.counter}}:
{% for i in Mylist1 %}
{% for j in Mylist2 %}
{{forloop.counter}},{{forloop.parentloop.counter}}
{% endfor %}
{% endfor %}
donne:
1,1
2,1
3,1
.
.
.
1,2
2,2
3,2
.
.
.
Recherches associées
Liens | Site |
---|---|
Django built-in | Django doc |
Django - iterate number in for loop of a template | stackoverflow |
How to access outermost forloop.counter with nested for loops in Django templates? | stackoverflow |
Python Django Template: Iterate Through List | stackoverflow |
how to iterate through dictionary in a dictionary in django template? | stackoverflow |