Jinja2 for 循环中的变量别名

Variable alias in a for cycle with Jinja2

我的 html 中有此代码:

{% for macchine in range(20) %}
    {% set macchina_usata = 'M'+ macchine|string  %}
    {{ data['macchina_usata'] }}
    {% if data['macchina_usata'] is defined %}

    do something..

    {% endif %}
{% endfor %}

在没有 for 循环之前,我只需要检查一个变量是否被定义并得到结果,但现在我想把它放在一个循环中,因为我必须检查 20 个或更多变量。

我从前面的 html 得到的变量就像 M1, M2, M3, ... M20 然后我认为创建一个由 M+ 组成的变量 macchina_usata 是个好主意int macchinestring 中转换,但是当我尝试打印它时没有任何反应,所以,我想我以错误的方式使用了别名

您正在使用文字字符串 'macchina_usata' 作为 data 的索引。您应该改用变量 macchina_usata,不带引号:

{{ data[macchina_usata] }}
{% if data[macchina_usata] is defined %}