Jinja et Twig sont deux moteurs de templates très puissant et proches dans leur syntaxe qui donnent la possibilité de faire des boucles :

{% for compressor in compressors %}
    <li>{{ compressor.name }}</li>
{% endfor %}

Et si on veut imbriquer une boucle dans la boucle ? Rien de plus simple :

{% for compressor in compressors %}
    {% for map in compressor.maps %}
        {{ map.unit }}
    {% endfor %}
{% endfor %}

Comment accéder à la boucle parente dans la boucle imbriquée pour par exemple créer un attribut ? Là aussi c’est facile :

{% for compressor in compressors %}
    {% set outer_loop = loop %}
    {% for map in compressor.maps %}
        <span data-compressor-id="compressor-{{ compressor.id }}">
            {{ map.unit }}
        </span>
    {% endfor %}
{% endfor %}

Références externes