有没有办法删除 jinja2 for 循环中的空白行?

sla*_*987 3 jinja2

我现在遇到的问题是在 jinja2 模板的 for 循环中,每次迭代之间有我想删除的白线。

{% if instance['virtual_route_source'] and instance['virtual_route_gateway'] %}
    virtual_routes {
  {% for source in instance['virtual_route_source'] %}
        {{ source }} via {{ instance['virtual_route_gateway'] }} dev {{ instance['interface'] }}
  {% endfor %}
    }
{% endif %}
Run Code Online (Sandbox Code Playgroud)

预期输出:

virtual_routes {
    192.168.1.5 via 10.10.10.10 dev ens33
    192.168.100.16 via 10.10.10.10 dev ens33
    191.168.195.3 via 10.10.10.10 dev ens33
}
Run Code Online (Sandbox Code Playgroud)

实际输出:

virtual_routes {

    192.168.1.5 via 10.10.10.10 dev ens33

    192.168.100.16 via 10.10.10.10 dev ens33

    191.168.195.3 via 10.10.10.10 dev ens33

}
Run Code Online (Sandbox Code Playgroud)

任何见解将不胜感激,谢谢!

blh*_*ing 5

您可以在开始模板标记后添加破折号,以表示要丢弃前面的空格:

{% if instance['virtual_route_source'] and instance['virtual_route_gateway'] %}
    virtual_routes {
  {%- for source in instance['virtual_route_source'] %}
        {{ source }} via {{ instance['virtual_route_gateway'] }} dev {{ instance['interface'] }}{{ '\n' }}
  {%- endfor %}
    }
{% endif %}
Run Code Online (Sandbox Code Playgroud)