Jinja2模板中“列表中存在项目”时打印字符串

Ken*_*n J 4 jinja2 ansible ansible-template

我正在尝试使用从列表中确定的值填充nsswitch.conf。该列表是字符串:

openldap_nsswitch:
  - group
  - hosts
  - passwd
  - shadow
Run Code Online (Sandbox Code Playgroud)

如果字符串在列表中,我想在模板中输出一些内容。

passwd:         compat {% if openldap_nsswitch contains passwd %}ldap{% endif %}
Run Code Online (Sandbox Code Playgroud)

仅当我的列表包含特定元素时,才能写字符串吗?

tec*_*raf 7

这个给你:

passwd:         compat{{ ' ldap' if ('passwd' in openldap_nsswitch) else ‘’ }}
Run Code Online (Sandbox Code Playgroud)