Templates 为什么在线测试时,烧瓶/OpenShift下的trim_块和lstrip_块与本地测试时产生不同的结果?
我正在使用Flask编写一个简单的web应用程序,它托管在OpenShift上。我想控制模板文件中的空白,基本上删除了Jinja命令行,如中所示:Templates 为什么在线测试时,烧瓶/OpenShift下的trim_块和lstrip_块与本地测试时产生不同的结果?,templates,flask,openshift,jinja2,removing-whitespace,Templates,Flask,Openshift,Jinja2,Removing Whitespace,我正在使用Flask编写一个简单的web应用程序,它托管在OpenShift上。我想控制模板文件中的空白,基本上删除了Jinja命令行,如中所示: <div> {% if True %} yay {% endif %} </div> …我已经在我的应用程序包的init.py文件中完成了。然而,当我在本地测试然后在OpenShift上测试时,这会产生不一致的行为;在本地,我得到了预期的结果(即基本上删除了Jinja命令,好像它们从未出现过一样),在OpenShif
<div>
{% if True %}
yay
{% endif %}
</div>
…我已经在我的应用程序包的init.py文件中完成了。然而,当我在本地测试然后在OpenShift上测试时,这会产生不一致的行为;在本地,我得到了预期的结果(即基本上删除了Jinja命令,好像它们从未出现过一样),在OpenShift上我得到了:
<div>
YAY
</div>
感谢您的回答。如果您正在使用git推送来部署代码,您可能会考虑让git将您的行尾固定为unix/linux风格,如下所述:在OpenShift上检查您的Jinja2版本,它需要是2.2版或更高版本。您是否已验证在OpenShift和本地具有相同的Jinja2版本。我不知道行为是否改变,但值得检查。
flask_app_obj.jinja_env.lstrip_blocks = True
flask_app_obj.jinja_env.trim_blocks = True
<div>
YAY
</div>
flask_app_obj.jinja_env.lstrip_blocks = True
flask_app_obj.jinja_env.trim_blocks = True