2017-04-10 92 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 %}