2013-07-17 163 views
17

我有一個嵌套列表。我需要遍歷一個列表並將其保存在for循環中,如下所示。jinja2範圍內的for循環

{% for alpha in list %} 
    <div id="{{ loop.index }}"> 
     <div class='sidebar-one'> 
      {% for beta in list[0][2:] %} #I want to iterate through list[0][2:] till list[n][2:] 
       <p> {{ beta[0][0] }} </p> 
      {% endfor %} 
     </div> 
    </div> 
{% endfor %} 

我試過範圍但沒有運氣。

{% for n in range(1,n) %} 
{% for line in check[{{n}}][2:] %} 
{% endfor %} 

扔錯誤:

TemplateSyntaxError: expected token ':', got '}' 

回答

42

這就像Python的:

{% for n in range(n) %} 
    {% for line in check[n][2:] %} 
     <p> {{ beta[0][0] }} </p> 
    {% endfor %} 
{% endfor %} 
+1

確定我得到它。我的錯誤是將它放入{{n}}這樣的大括號中。我仍然想知道爲什麼這裏不使用大括號?我們在jinja2而不是python,對吧? –

+0

anohter查詢如果你介意添加到答案。我如何結束循環和第二個? 「endfor」會自動走近更近的循環嗎?我想知道是否有任何黑客結束外循環第一,然後內在的一個! –

+0

@ChandanGupta:Jinja2不是Python,但其語法非常相似。至於循環的事情,你如何用普通的Python來做到這一點? – Blender