我有一个名为 items 的元组列表:
[ (1,2), (3,4), (5,6), (7,8) ]
我认为我可以迭代使用,但它不起作用:
# Code
output = template.render( items )
# Tempalte
{% for item in items %}
{{ item[0] }};
{{ item[1] }};
{% endfor %}
有什么建议吗?
答案 0 :(得分:5)
渲染([上下文])
此方法接受与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”的键,但在您的情况下,没有,您必须明确指定它。