首页 > 解决方案 > 使用导出变量在 jinja 中进行 For 循环

问题描述

我正在尝试在 for 循环中生成一些代码,并且限制是从导出的变量动态设置的。这就是我正在尝试的

在 test.mk 中

export num_iterations = 3

在 test.j2

{%- for i in range(0, {{ num_iterations | int }}) %}
        Do something with  {{i}}
{%- endfor %}

Error I get
jinja2.exceptions.TemplateSyntaxError: expected token ':', got '}'

如果我使用 range(0, 3),代码生成工作正常。

谢谢

标签: jinja2

解决方案


尝试删除内部 {{ }} 使您的 for 看起来像这样:

{%- for i in range(0, num_iterations | int ) %}

推荐阅读