2016-09-16 46 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