2016-10-12 27 views
1

各辞書にブール値のエントリがある辞書のリストがあります。私はTrueのアイテムをそれらのアイテムの数と共に表示したいと思います。 selectattrフィルタを使用していますが、ジェネレータが返され、|lengthを呼び出すとエラーが発生します。 Jinjaで返されたアイテムの長さはどのようにしてselectattrから返されますか?Jinja2で条件を満たすリスト項目の数を取得します。

my_list = [{foo=False, ...}, {foo=True, ...}, ...] 
{{ my_list|selectattr('foo', 'equalto', True)|length }} 
+0

ロジックをテンプレートから除外することをお勧めします。しかし、あなたがまだそれをやるなら、@larsksのアプローチはかなり良いです。 –

答えて

3

リストに変換ジェネレータますlistフィルタがあります。したがって:

{{ my_list|selectattr('foo')|list|length }} 
関連する問題