我有一个条件包含,如下所示:
include:
{% if CONDITION-A %}
- foo.bar
{% endif %}
{% if CONDITION-B %}
- blu.bla
{% endif %}
这在大多数情况下都有效。
但是如果CONDITION-A和CONDITION-B为假,则失败。
如何处理?
答案 0 :(得分:0)
我现在使用此模式:
include:
- dummy
{% if CONDITION-A %}
- foo.bar
{% endif %}
{% if CONDITION-B %}
- blu.bla
{% endif %}
dummy.sls:
dummy-no-op:
test.nop
不好,但是可以。
欢迎更好(更简单,更明显)的答案。
答案 1 :(得分:0)
这也很丑陋,但是您可以将整个include块包装在if条件中,以检查CONDITION-A
或CONDITION-B
是否为真:
{% if CONDITION-A or CONDITION-B %}
include:
{% if CONDITION-A %}
- foo.bar
{% endif %}
{% if CONDITION-B %}
- blu.bla
{% endif %}
{% endif %}
这样,如果两个条件均为假,jinja将删除include块