在jinja模板中,我的脚本中有一个for循环,其中包含一个开始标记 {% for each in list_one %}
和结束标记 {% endfor %}
.
我想设置2个条件来选择for循环的起始标记 . 像这样的东西:
{% if name %}
{% for each in list_one %}
{% else %}
{% for each in list_two %}
{{ each }}
{% endif %}
{% endfor %}
我面临的错误是:
jinja2.exceptions.TemplateSyntaxError:遇到未知标签'endif' . 你可能犯了一个嵌套错误 . Jinja期待这个标签,但目前正在寻找'endfor'或'else' . 需要关闭的最里面的块是'for' .
2 回答
您必须在
if
子句之前关闭for
循环 . 为了决定迭代哪个列表,你可以这样做:您正尝试在
if
和else
块中使用for
循环 . 但在关闭if
和else
块之前,你错过了关闭for
循环 .正确的代码如下: