提问人:Johnny John Boy 提问时间:7/18/2017 最后编辑:kemisJohnny John Boy 更新时间:9/15/2017 访问量:54411
Flask 模板 - For 循环迭代 key:value
Flask Template - For Loop Iteration key:value
问:
我有一个 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}}']}}
没有产生任何值,我尝试过使用和不使用单引号。这可能吗?
答:
22赞
kemis
7/18/2017
#1
这是您的错误所在:
<td>{{segment_details['{{segment}}']}}</td>
不需要内部。
它应该只是:{{ }}
<td>{{segment_details[segment]}}</td>
有关详细信息,请参阅 Jinja 的文档。
当你在编写语句(,)时,你使用,但当你访问一个变量时,只需使用。if
for
Jinja2
{% statement %}
{{ variable }}
评论
0赞
Johnny John Boy
7/19/2017
谢谢凯米斯 - 感谢您的快速回复,您的建议非常有效!
0赞
Liam Sholts
12/30/2022
我只是因为无聊而读书。我刚才才学到了一些东西,谢谢!赢得了点赞!
16赞
Luis Carlos Herrera Santos
9/15/2017
#2
这是一个解决方案
<tbody>
{% for key, segment in segment_details.items() %}
<tr>
<td>{{ key }}</td>
<td>{{ segment }}</td>
</tr>
{% endfor %}
</tbody>
评论
{{ }}
segment