我有一个在GAE中托管的网站,在我的Jinja2模板中,我在FOR语句中有一个IF语句。
我使用以下方法启用了 jinja2.ext.loopcontrols 循环控件:
template_dir = os.path.dirname(__file__)
ENV = jinja2.Environment(loader=jinja2.FileSystemLoader(template_dir),
autoescape=True,
extensions=['jinja2.ext.autoescape',
'jinja2.ext.loopcontrols'])
我的模板如下所示:
{% for i in data %}
(% if i.date_posted is defined %)
{{ i.date_posted.strftime('%d %b %Y') }}
{% else %}
No
{% endif %}
{% endfor %}
我一直收到错误:
TemplateSyntaxError:遇到未知标签'endif'。 Jinja正在寻找以下标签:'endfor'。需要关闭的最里面的块是'for'。
答案 0 :(得分:5)
您没有正确声明if
代码:
(% if i.date_posted is defined %)
注意括号而不是花括号;它应该写成:
{% if i.date_posted is defined %}