2017-08-10 63 views
1

我想過濾包含或以'foo_'開頭並忽略列表中的其他值的值。Jinja模板字典/列表過濾器「contains」或「like」 - Saltstack

值(不能修改):

TEST: 
- foo_a 
- foo_b 
- bar_a 
- bar_b 
- test_c 

模板:

{% for value in grains['TEST'] %} 
- do something with value that contains "foo_" 
{% endfor %} 

我該怎麼辦呢?

我試着用:

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

=>沒有成功

+0

'{%for grain in'['TEST'] if value.startswith('foo_')%} - do something {%endfor%}' –

回答

1

假設每個值是一個字符串(這似乎是這種情況),你應該能夠使用標準startswith方法字符串,如{% if value.startswith('foo_') %}