2017-04-10 60 views
0

我有这样一本字典:Ansible神社模板

users: 
    sammy: 
    status: employed 
    chris: 
    status: unemployed 
    dan: 
    status: employed 

我需要设计一个神社模板,以便输出类似以下,只显示按字母顺序使用用户:

<Directory /var/www/html/dan> 
     Require group dan 
</Directory> 
<Directory /var/www/html/sammy> 
     Require group sammy 
</Directory> 

到目前为止,我有这个模板,但不知道如何选择就业用户只有,并有他们按字母顺序

{% for user in users %} 
<Directory /var/www/html/{{ user }}> 
    Require group {{ user }} 
</Directory> 
{% endfor %} 
+0

请检查[内建过滤器(http://jinja.pocoo.org/docs/2.9/templates/#list-of-builtin-filters),'selectattr'和'排序'特别是。 –

+0

再次感谢@KonstantinSuvorov的帮助。你用什么工具调试Jinja模板? – GMaster

回答

0
{{ ansible_managed | comment }} 

{% for user in users|dictsort %} 
    {% if user.1.status == 'employed' %} 
     <Directory /var/www/html/files/{{ user.0 }}> 
      Require group portal_{{ user.0 }} 
     </Directory> 
    {% endif %} 
{% endfor %}