Jinja2-Zähler für verschachtelte Schleifen

{% set cnt = 0 %}
{% for room in rooms %}
  {% for bed in room %}
    {% set cnt = cnt + 1 %}
  {% endfor %}
{{ cnt }}
{% endfor %}

Nehmen wir an, wir haben diese verschachtelte Schleife. Der Ausdruck cnt wird IMMER 0 sein, da dies definiert wurde, als wir die erste for-Schleife eingegeben haben. Wenn wir den Zähler in der inneren Schleife inkrementieren, scheint es sich nur um eine lokale Variable für die innere Schleife zu handeln. Er wird also innerhalb der Schleife inkrementiert, aber dann ist diese lokale Cnt verschwunden. WIE können wir das globale cnt ändern ???

So großartig das Jinja2-Dokument auch sein mag, es ist unklar, welche Variablenbereiche festgelegt sind. Das einzige, was den Geltungsbereich erwähnte, war der Modifizierer "scoped" für innere Blöcke, aber ich denke, er kann nicht auf alles angewendet werden ... verrückt.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage