Python Jinjna变量不将值保留在循环之外

2024-10-03 06:32:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正试图通过使用jinja变量来解决一个问题,但不知何故,该变量并没有将该值保留在循环之外,即使我在循环开始之前声明了它:

{% set disablecounter = 0 %}

{% if disablecounter == 0 %}
    {% for einzelroom in all_einzelzimmer %}
        {% if zimmer.id == einzelroom.zimmer_id %}
            {% set price = einzelroom.preis %}
            <div class="preis-element">
                <p class="preis"> <span class="smallab"> ab </span> {{ price|int }}&euro; </p>
            </div>
            {% set disablecounter = disablecounter + 1 %}
            {{ disablecounter }}
        {% endif %}
    {% endfor %}
{% endif %}

{{ disablecounter }}

变量是disablecounter,在循环内它是1,但在它外面仍然是0

谢谢!在

编辑

周围有with statement也不起作用:

^{pr2}$

Tags: divid声明ifpriceclassjinjaspan
1条回答
网友
1楼 · 发布于 2024-10-03 06:32:11

我找到了一个很好的解决办法,@Chris Warth。在

@Peter Hollingsworth的原始答案: https://stackoverflow.com/a/32700975/5291566

{% with disablecounter = [0] %}

{% if disablecounter == [0] %}
    {% for einzelroom in all_einzelzimmer %}
        {% if zimmer.id == einzelroom.zimmer_id %}
            <div class="preis-element">
                <p class="preis"> <span class="smallab"> ab </span> {{ einzelroom.preis|int }}&euro; </p>
            </div>
            {% if disablecounter.append(disablecounter.pop() + 1) %}{% endif %} 
        {% endif %}
    {% endfor %}
{% endif %} 

相关问题 更多 >