我在用着curl
观看我的网络应用程序的输出。
当 Flask 和 Jinja 渲染模板时,输出中存在大量不必要的空白。
它似乎是通过渲染 Flask-WTF 和 Flask-Bootstrap 的各种组件来添加的。
我可以使用剥离这个sed
,但是有办法从 Jinja 控制这个吗?
Jinja 有多种方法控制空白 https://jinja.palletsprojects.com/en/3.0.x/templates/#whitespace-control. It does not有一种方法可以美化输出,您必须手动确保一切看起来“不错”。
最广泛的解决方案是设置trim_blocks
and lstrip_blocks
在环境上。
app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True
如果您想在文件末尾保留换行符,请设置strip_trailing_newlines = False
.
您可以使用控制字符来修改标记周围的空格的工作方式。-
总是删除空格,+
始终保留它,覆盖该标签的环境设置。这-
字符可以位于标签的开头或结尾(或两者)来控制该方向的空白,+
字符仅在标签开头才有意义。
-
{%- if ... %}
之前剥离
-
{%- if ... -%}
之前和之后的条带
-
{%+ if ... %}
保存之前
-
{%+ if ... -%}
保留之前并剥离之后
- 请记住
{% endif %}
被单独对待
控制字符仅适用于模板you写。如果您包含模板或使用来自第 3 方的宏,则他们编写的模板将适用于该部分。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)