Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Jinja2中针对语句的If语句_Python_Google App Engine_If Statement_Jinja2 - Fatal编程技术网

Python Jinja2中针对语句的If语句

Python Jinja2中针对语句的If语句,python,google-app-engine,if-statement,jinja2,Python,Google App Engine,If Statement,Jinja2,我有一个在GAE托管的网站,在我的Jinja2模板中,我有一个FOR语句中的IF语句 我已通过以下方式启用我的jinja2.ext.loopcontrols循环控制: template_dir = os.path.dirname(__file__) ENV = jinja2.Environment(loader=jinja2.FileSystemLoader(template_dir), autoescape=True

我有一个在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”


您没有正确声明您的
if
标记:

(% if i.date_posted is defined %)
注意括号而不是大括号;应该这样写:

{% if i.date_posted is defined %}

您没有正确声明您的
if
标记:

(% if i.date_posted is defined %)
注意括号而不是大括号;应该这样写:

{% if i.date_posted is defined %}

啊,伙计!所有这些都是为了这么简单的事情。也许是我买新眼镜的时候了。:)谢谢@贾斯珀·约翰斯:你用什么编辑器?我使用的是Textmate和Sublime文本,这会使差异更加明显。我使用的是Aptana Studio 3,Sublime文本是免费的吗?我只是看了一下,到目前为止我非常喜欢它。谢谢你的建议@JasperJohns:崇高的文本可以自由评估;当您保存文件以购买许可证继续使用时,它会不时地困扰您。Sublime Text 3目前处于测试版,在正式发布之前是免费的。@JasperJohns:Aptana Studio 3显然支持Django模板;Jinja2在很大程度上基于相同的语法,您可以尝试看看Django模板语法highlighter是否有帮助!所有这些都是为了这么简单的事情。也许是我买新眼镜的时候了。:)谢谢@贾斯珀·约翰斯:你用什么编辑器?我使用的是Textmate和Sublime文本,这会使差异更加明显。我使用的是Aptana Studio 3,Sublime文本是免费的吗?我只是看了一下,到目前为止我非常喜欢它。谢谢你的建议@JasperJohns:崇高的文本可以自由评估;当您保存文件以购买许可证继续使用时,它会不时地困扰您。Sublime Text 3目前处于测试版,在正式发布之前是免费的。@JasperJohns:Aptana Studio 3显然支持Django模板;Jinja2主要基于相同的语法,您可以尝试看看Django模板语法highlighter是否有帮助。