2016-10-12 77 views
1

我有一個字典列表,其中每個字典都有一個布爾條目。我想要顯示的項目是True,以及這些項目的數量。我使用的是selectattr過濾器,但它返回一個生成器,並調用|length就會產生錯誤。我怎樣才能得到Jinja中從selectattr返回的物品的長度?獲取滿足Jinja條件的列表項的數量

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

最好不要使用模板。但如果你仍然會這麼做,@larsks的方法非常好。 –

回答

3

有一個list過濾器,將改變發電機到一個列表。所以:

{{ my_list|selectattr('foo')|list|length }}