2016-09-16 36 views
1

的名單上有一個元組列表稱爲項目Jinja2的itterate通過元組

[ (1,2), (3,4), (5,6), (7,8) ] 

我以爲我可以迭代雖然使用,但它不工作:

# Code 
output = template.render(items) 

# Tempalte 
{% for item in items %} 
    {{ item[0] }}; 
    {{ item[1] }}; 
{% endfor %} 

有什麼建議?

回答

2

documentation

渲染([上下文])

該方法接受相同的參數的字典 構造:一個字典,一個字典子類或一些關鍵字參數。如果沒有給出 參數,則上下文將爲空。

from jinja2 import Environment 

TEMPLATE = """ 
{% for item in items %} 
    {{ item[0] }}; 
    {{ item[1] }}; 
{% endfor %} 
""" 

template = Environment().from_string(TEMPLATE) 

items = [(1,2), (3,4), (5,6), (7,8)] 

print template.render(items=items) 

在解析模板,將的Jinja2尋找一個叫「項目」鍵,但在你的情況下,是沒有的,你必須明確地指定它。

+0

這固定它 - 非常感謝你。 – Ethan