2012-09-11 27 views
5

benim jinja2 şablonunajinja2 ilk için öğeleri x ... döngü

{% for item in list if item.author == 'bob' %} 

aşağıdaki döngü ben bir yazar olarak bob sahip ilk 5 ürün almak için çalışıyorum varsa.

Ben
{% for item in list if item.author == 'bob' and loop.index <= 5 %} 

yapıyor denedik ama tanımlanmamış bir hata verdi.

Nasıl çalışır?

+5

Bu, python kodunuzda genellikle yapmak istediğiniz türden bir şey gibi geliyor, temp değil geç. – geoffspear

cevap

9

DÜZENLEME:

yapabilirsiniz basitçe yuva ifadeleri ?, yani

{% for item in list if item.author == 'bob' %} 
    {% if loop.index <= 5 %} 
     do something 
    {% endif %} 
{% endfor %} 
+1

Bu, dizinin ilk 5 maddesini alacaktır, yazarın bob'una sahip olanlar değil. 10 öğeyle bir dizim var ve bob son 5'i yazdıysa, bu hiçbir şey döndürmeyecek – applechief

+0

iyi bir nokta .. hmm –

+1

çok şık değil ama –

3

atlamak için ilk x elemanları yapabilirsiniz için kullanabileceğiniz tüm ifadelerle

{% for category in categories[x:] %} 

düzenli listeler