2012-03-07 46 views
13

神社允許我做循環執行子集神社

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

,但我希望能夠只取第一Ñ物品;在Python這將是

for item in all_items[:n]: 

是否有任何優雅的方式在金賈做到這一點,除了

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

回答

20

您可以使用普通的Python切片語法。

>>> 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

往往在生活中,我們有時看不到最明顯的。謝謝:) – 2012-03-11 16:56:57

+0

@miku,如何獲得最後3項? – Syed 2016-10-19 11:36:23

+0

@miku,不用擔心,我在這裏[-3:] http://stackoverflow.com/a/646654/1292050 – Syed 2016-10-19 12:02:59