Python Jinja 变量不添加

Python Jinja Variables Don't Add

我正在使用 Flask 开发一个项目,并且正在尝试 运行 两个 foreach 循环的技巧。我这样做是通过创建一个变量并在每次循环后向其添加 1,如下所示:

{% set iteration = 0 %}

    {% for result in results %}
      <p id="{{ results_raw[iteration] }}">{{ result }}</p> <br>
      {% set iteration = iteration + 1 %}
{% endfor %}

迭代变量应该从 0 到 1 再到 2 等等。 "results_raw" 是一个有 6 个字符串的字典。当这段代码 运行s 时,第 0 个字符串不断打印,这意味着 iterations 变量没有增加。这可能是什么原因?

您可以在 for 循环中访问 loop.index 和 loop.index0 而不是设置迭代变量

参考此文档:https://jinja.palletsprojects.com/en/3.1.x/templates/

loop.index , The current iteration of the loop. (1 indexed)

loop.index0, The current iteration of the loop. (0 indexed)


{% for result in results %}
      <p id="{{ results_raw[loop.index0] }}">{{ result }}</p> <br>
      
{% endfor %}