web-dev-qa-db-fra.com

Supprimez les lignes vides laissées par les définitions de variables Jinja2

Lors de l'écriture de fichiers modèles à l'aide de Jinja2 pour Saltstack, je définis souvent certaines variables au début du fichier. Par exemple:

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

[...]

Tout fonctionne bien mais lors de l'ouverture du fichier généré, j'obtiens un bloc de lignes vides où se trouvait le code jinja.

Est-ce que je fais quelque chose de mal ? Sinon, existe-t-il un moyen de se débarrasser de ces lignes vides lors de l'utilisation de modèles?

28
ITChap

Il y a contrôle des espaces dans Jinja2. Vous voudrez peut-être:

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

[...]

De plus, le sel fichier de configuration prend en charge jinja_trim_blocks et jinja_lstrip_blocks (jinja_env:trim_blocks, jinja_env:lstrip_blocks, jinja_sls_env:trim_blocks, et jinja_sls_env:lstrip_blocksà partir de 2018. ).

38
oeuftete