首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jinja非呈现块将空白空间添加到下一个呈现块

Jinja非呈现块将空白空间添加到下一个呈现块
EN

Stack Overflow用户
提问于 2022-03-16 16:23:13
回答 1查看 113关注 0票数 0

我在由ansible呈现的jinja模板上有以下导入:

代码语言:javascript
复制
      labels:
      {% set name = 'jellyfin' %}
      {% set port = '8096' %}
      {% filter indent(width=8, first=True) %}
      {% include './labels.yml.jinja' %}
      {% endfilter %}

正如您所看到的,有一些非呈现块可以设置一些局部变量和其他东西。当模板由ansible呈现时,模板的第一行被移动到与非呈现块之和+2相同的空格(本例中为32=6个空格+2的5个块)。

例如:

代码语言:javascript
复制
      labels:
                                # this are the labels, fools
        - "traefik.enable=true"
        - "traefik.backend=jellyfin"

我可以删除所有{% %}块的缩进,然后它将正常工作,但是看起来很难看,而且不太合适。

即使我添加了一个减号以删除非呈现块中的空白空间,如下所示:

代码语言:javascript
复制
      {% set name = 'jellyfin' -%}
      {% set port = '8096' -%}
      {% filter indent(width=8, first=True) -%}
      {% include './labels.yml.jinja' -%}
      {% endfilter -%}

第一行仍在移动(尽管要少得多)

我怎么才能解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2022-03-16 16:36:09

我只需将#jinja2: lstrip_blocks: "True"添加到导入模板的顶部,这就成功了。

我从本文中收集了这些信息,解释了我的确切问题并给出了一个解决方案:https://radeksprta.eu/posts/control-whitespace-in-ansible-templates/

但我必须说,默认的行为是非常混乱的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71500723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档