有没有办法使用default()
过滤器正确干燥此块?
{% if item.aliases is defined %}
server_name {{ item.target }} {{ item.aliases|join(" ") }}
{% else %}
server_name {{ item.target }};
{% endif %}
我试过没有任何成功=> error: expected token 'end of print statement', got 'item'
{{item.target item.aliases|join(" “)|default( item.target ) }}
我也试过这个,但没有给出预期的结果。
server_name {{[item.target ,item.aliases|default('')]|join(' ')}};
# this print :
# server_name actual.domain.com ['alias1.domain.com', 'alias2.domain.com'];
# and my expected result is
# server_name actual.domain.com alias1.domain.com alias2.domain.com ;
# or ( when item.aliases is not defined
# server_name actual.domain.com
答案 0 :(得分:0)
得到了......我的印刷陈述错了:
server_name {{item.target}} {{item.aliases|default('')|join(' ')}};
输出
server_name actual.domain.com alias1.domain.com alias2.domain.com ;
# or
server_name actual.domain.com;