jinja2遍历元组列表

时间:2016-09-16 03:50:23

标签: python jinja2

我有一个名为 items 的元组列表:

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

我认为我可以迭代使用,但它不起作用:

# Code
output = template.render( items )

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

有什么建议吗?

1 个答案:

答案 0 :(得分:5)

来自documentation

  

渲染([上下文])

     

此方法接受与dict相同的参数   构造函数:一个dict,一个dict子类或一些关键字参数。如果不   参数被赋予上下文将是空的。

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将查找名为“items”的键,但在您的情况下,没有,您必须明确指定它。