【问题标题】:jinja2 whitespace control in block and around block块和块周围的jinja2空白控制
【发布时间】:2020-05-07 15:29:32
【问题描述】:

我正在尝试输出一个 2 行块,应该:

  • 块前没有空格
  • 块后没有空格
  • 块中的每个项目都有一个换行符

像这样:

apple
pear

但是,根据我使用空白控制的方式,我找不到必要的配置。

我最接近的是:

{% for fruit in fruits -%}
{{ fruit }}
{% endfor %}

呈现:

apple
pear
<newline>

其他尝试渲染块如下:

<newline>
apple
pear

applepear

我就是拿不到

apple
pear

如果能提供任何帮助,我将不胜感激。

【问题讨论】:

    标签: jinja2


    【解决方案1】:

    我认为这对你有用...

    {% for fruit in fruits -%}
    {{ fruit }}
    {% endfor -%}
    

    现在呢?

    【讨论】:

    • 删除 {{ fruit }} 之后的换行符
    • 我已经测试了各种组合,如问题中所述。
    【解决方案2】:

    所以,这实际上是我的 IDE 的问题,它在编辑器的 EOF 处添加换行符。

    当我在 shell 中查看文件时,没有换行符。

    所以下面的模板格式确实有效:

    {% for fruit in fruits -%}
    {{ fruit }}
    {% endfor %}
    

    【讨论】:

    • Okay...!??