我有一个 HTML 模板,里面有一个 Flask Jinja for 循环,它生成一个表,看起来像:
<tbody>
{% for segment in segment_details %}
<tr>
<td>{{segment}}</td>
<td>{{segment_details['{{segment}}']}}</td>
</tr>
{% endfor %}
</tbody>
我正在尝试遍历不同长度/键的文档,并将表中的每一行显示为键和值。在我的 Python 代码中,我得到了在 shell 中具有所需响应的代码:
for item in segment_details:
print(item, segment_details[item])
但在 Flask 中,我得到的项目正确列出了除
之外的所有行{{segment_details['{{segment}}']}}
没有产生任何值,我试过使用和不使用单引号。这可能吗?
最佳答案
这是你的错误所在:
<td>{{segment_details['{{segment}}']}}</td>
里面不需要{{ }}
。
它应该只是:
<td>{{segment_details[segment]}}</td>
有关更多信息,请参阅 Jinja 的文档.
当您在 Jinja2
中编写语句(if
, for
) 时,您使用 {% statement %}
但是当您正在访问一个变量,然后只需使用 {{ variable }}
。
关于python - Flask 模板 - For 循环迭代键 :value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45167508/