所以我试图从字典列表中使用Jinja2创建一个HTML表格(由Flask SQL select语句返回)。
现在test_list已经存储了一个字典列表(其中的键是数据库列)。
现在我正在使用它:
<table style="width:100%">
{% for dict_item in history_list %}
{% for key, value in dict_item.items() %}
<tr>
<th> {{ key }} </th>
<td> {{ value }} </td>
</tr>
{% endfor %}
{% endfor %}
</table>
它确实有效,但它基本上产生了2列(一列是键,一列是列)。我想把DB键作为表中的列标题,然后只是放入每列的值。
这可能吗?既然我只想重复一次关键的话?
答案 0 :(得分:5)
你需要这样的东西,它提供th
元素的标题行,然后进入数据行(表格的主体)。
<table style="width:100%">
<!-- table header -->
{% if history_list %}
<tr>
{% for key in history_list[0] %}
<th> {{ key }} </th>
{% endfor %}
</tr>
{% endif %}
<!-- table rows -->
{% for dict_item in history_list %}
<tr>
{% for value in dict_item.values() %}
<td> {{ value }} </td>
{% endfor %}
</tr>
{% endfor %}
</table>