我现在遇到的问题是在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 %}
预期输出:
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
}
实际输出:
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
}
任何见识将不胜感激,谢谢!
答案 0 :(得分:0)
您可以在开始模板标记后添加破折号,以表示前面的空白将被丢弃:
{% 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 %}
答案 1 :(得分:0)
经过一些进一步的测试,如果有人想知道的话,我会使用它的工作方式:
{% 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 %}{{ '\n' }} }
{% endif %}