删除Jinja2变量定义留下的空行

时间:2015-02-03 08:54:42

标签: jinja2

使用Jinja2为Saltstack编写模板文件时,我经常在文件的开头定义一些变量。例如:

{% set ip = grains['ip4_interfaces']['eth1'][0] %}
{% set domain = pillar['company_domain'] %}
{% set version = pillar['site_version'] %}
{% set site_url = 'www.' + domain %}

[...]

一切正常但是当打开生成的文件时,我得到一个空行的块,其中jinja代码是。

我做错了吗? 如果没有,在使用模板时有没有办法摆脱那些空行?

1 个答案:

答案 0 :(得分:38)

Jinja2中有whitespace control。你可能想要:

{%- set ip = grains['ip4_interfaces']['eth1'][0] -%}
{%- set domain = pillar['company_domain'] -%}
{%- set version = pillar['site_version'] -%}
{%- set site_url = 'www.' + domain -%}

[...]

同样,盐[{3}}支持jinja_trim_blocksjinja_lstrip_blocksjinja_env:trim_blocksjinja_env:lstrip_blocksjinja_sls_env:trim_blocksjinja_sls_env:lstrip_blocks configuration file)。