Jinja 模板字典/列表过滤器“包含”或“喜欢” - Saltstack

yre*_*ein 2 python jinja2 salt-stack

我想过滤包含或以“foo_”开头的值,并忽略列表中的其他值。

值(无法修改):

TEST:
- foo_a
- foo_b
- bar_a
- bar_b
- test_c
Run Code Online (Sandbox Code Playgroud)

模板 :

{% for value in grains['TEST'] %}
- do something with value that contains "foo_"
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

我尝试过:

{% for value in grains['TEST']|map(^foo_) %}
- do something with value that contains "foo_"
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

=> 没有成功

Evi*_*erg 5

如果您想进行子字符串搜索,您可以像这样检查变量是否匹配字符串。确保将变量设置为字符串。

{% if '.mov' in var|string %}
   do something...
{% endif %}
Run Code Online (Sandbox Code Playgroud)

  • 不建议仅使用代码答案。您能否解释一下您的代码,以便OP可以理解和使用它。 (2认同)