程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

从Jinja渲染模板中删除不必要的空格

发布于2019-08-28 14:50     阅读(1419)     评论(0)     点赞(20)     收藏(3)


我正在使用curl我的网络应用程序的输出。当Flask和Jinja渲染模板时,输出中会有很多不必要的空白区域。它似乎是通过渲染Flask-WTF和Flask-Bootstrap的各种组件来添加的。我可以使用它sed,但有没有办法从Jinja控制它?


解决方案


Jinja有多种方法来控制空白没有办法美化输出,你必须手动确保一切看起来“不错”。

最广泛的解决方案是设置trim_blocks和环境lstrip_blocks

app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True

如果要在文件末尾保留换行符,请进行设置strip_trailing_newlines = False

您可以使用控制字符来修改标记周围的空白的工作方式。 -始终删除空格,+始终保留空格,覆盖该标记的env设置。-角色可以在标签的开头或结尾(或两者)去控制空格这个方向发展,该+字符才有意义,在标签的开始。

  • {%- if ... %} 之前剥离
  • {%- if ... -%} 前后的条带
  • {%+ if ... %} 保留之前
  • {%+ if ... -%} 保留之前和之后
  • 记住要{% endif %}分开处理

控制字符仅适用于编写的模板如果您包含模板或使用第三方的宏,但他们编写的模板将适用于该部分。



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/66304/92352522f1551fcdf5b8/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

20 0
收藏该文
已收藏

评论内容:(最多支持255个字符)