Jinja2 pour une boucle avec des conditions

J'ai une structure de données similaire à

data = {{'value': 1, 'state': False},
        {'value': 2, 'state': True}}

Où l'état et la valeur change en fonction de conditions extérieures.

Je veux utiliser un Jinja2 pour ... autre boucle avec des conditions, comme

{% for item in data where item.state == True %}
   {{ item.value }}
{% else %}
   no true items
{% endfor %}

- Je utiliser la structure de données dans de multiples endroits, et parfois tout ce qui doit être affiché. J'aimerais ne garder qu'une seule copie de la structure, et ont le Jinja2 modèle de prendre soin de soit en affichant les éléments de l'état == True ou un message qu'il n'y a pas de tous les éléments, plutôt que d'avoir à pré-traiter en Python avant de le donner au modèle, ou le fractionnement de la structure en plusieurs morceaux.

C'est en cours d'exécution sur Google App Engine avec Python 2.7 et Jinja2 2.6, et la structure des données est soutenu par memcache.

OriginalL'auteur Carson Morrow | 2012-09-29