2012-03-07 8 views
13

जिंजा मुझेजिंजा में सबसेट से अधिक लूपिंग

{% for item in all_items %} 
    {{ item }} 
{% endfor %} 

ऐसा करने के लिए, लेकिन मैं केवल पहले n आइटम लेने में सक्षम होना चाहते हैं अनुमति देता है; अजगर में

for item in all_items[:n]: 

वहाँ जिंजा में यह करने के लिए किसी भी सुरुचिपूर्ण रास्ता नहीं है हो सकता है कि, सिवाय

{% for item in all_items %} 
    {% if loop.index <= n %} 
     {{ item }} 
    {% endif %} 
{% endfor %} 

उत्तर

20

आप सामान्य अजगर टुकड़ा सिंटैक्स का उपयोग कर सकते हैं।

>>> import jinja2 
>>> t = jinja2.Template("{% for i in items[:3] %}{{ i }}\n{% endfor %}") 
>>> items = range(10) 
>>> print(t.render(items=items)) 
0 
1 
2 
+2

अक्सर जीवन में, हम कभी-कभी सबसे स्पष्ट रूप से देखने में विफल रहते हैं। धन्यवाद :) –

+0

@ मिकू, अंतिम 3 आइटम कैसे प्राप्त करें? – Syed

+0

@ मिकू, कोई चिंता नहीं, मुझे इसे यहां मिला [-3:] http://stackoverflow.com/a/646654/1292050 – Syed

संबंधित मुद्दे