Jinja2模板变量为一行

twe*_*200 5 jinja2 ansible

是否可以创建一个将变量放在一行上的jinja2模板?像这样的东西,但结果中不是有两行,而是用逗号分隔.

模板:

{% for host in groups['tag_Function_logdb'] %}
elasticsearch_discovery_zen_ping_unicast_hosts = {{ host }}:9300
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

结果:

elasticsearch_discovery_zen_ping_unicast_hosts = 1.1.1.1:9300
elasticsearch_discovery_zen_ping_unicast_hosts = 2.2.2.2:9300
Run Code Online (Sandbox Code Playgroud)

期望的结果:

elasticsearch_discovery_zen_ping_unicast_hosts = 1.1.1.1:9300,2.2.2.2:9300
Run Code Online (Sandbox Code Playgroud)

编辑,这工作:

elasticsearch_discovery_zen_ping_unicast_hosts = {% for host in groups['tag_Function_logdb']  %}
{{ host }}:9300
{%- if loop.first %},{% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

小智 6

这是对我有用的解决方案。我发现tweeks200的解决方案仅适用于2个循环。无论循环数如何,此方法均有效。感谢这里的每个人的帮助。

```
elasticsearch_discovery_zen_ping_unicast_hosts={% for host in groups['tag_Function_logdb']  %}
{{ host }}:9300
{%- if not loop.last %},{% endif %}
{% endfor %}
```
Run Code Online (Sandbox Code Playgroud)