web-dev-qa-db-ja.com

Jinja2変数定義によって残された空の行を削除します

Jinja2 for Saltstackを使用してテンプレートファイルを作成するとき、ファイルの先頭に変数を定義することがよくあります。例えば:

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

[...]

すべてが正常に動作しますが、生成されたファイルを開くと、jinjaコードがあった空の行のブロックが表示されます。

私は何か間違ったことをしていますか?そうでない場合、テンプレートを使用するときにこれらの空の行を取り除く方法はありますか?

28
ITChap

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 -%}

[...]

同様に、salt 構成ファイルjinja_trim_blocksおよびjinja_lstrip_blocksjinja_env:trim_blocksjinja_env:lstrip_blocksjinja_sls_env:trim_blocks、およびjinja_sls_env:lstrip_blocks2018.3現在 )をサポートしています。

38
oeuftete