我正在使用jinja2和python。
一切正常,但表格是基于一串数组打印的,这是模板
<table>
<tr>
<th> {{table.title}}</th>
</tr>
<tr>
{% for value in table.values %}
<td> {{ value }} </td>
{% endfor %}
</tr>
</table>
表在pyton中的数据中定义:
data['table'] = {
'title': 'Title',
'values': ['test','test2']
}
templateVars = data.copy()
templateEnv = jinja2.Environment(
loader=jinja2.FileSystemLoader(f'{package_directory}/assets/templates/'))
outputText = template.render(templateVars)
执行时出现错误:
{% for value in table.values %}
TypeError: 'builtin_function_or_method' object is not iterable
我找不到错误,因为我创建了一个列表,它应该是可迭代的。我将相同的代码复制到python,并且可以正常工作。
答案 0 :(得分:0)
我解决了我的问题,那是因为我使用“值”作为键,并且这是一个保留字,为table_rows对其进行了更改