使用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代码是。
我做错了吗? 如果没有,在使用模板时有没有办法摆脱那些空行?
答案 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_blocks
和jinja_lstrip_blocks
(jinja_env:trim_blocks
,jinja_env:lstrip_blocks
,jinja_sls_env:trim_blocks
和jinja_sls_env:lstrip_blocks
configuration file)。