Jinja2字典列表到HTML表中?

时间:2017-03-17 01:51:48

标签: python flask jinja2

所以我试图从字典列表中使用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键作为表中的列标题,然后只是放入每列的值。

这可能吗?既然我只想重复一次关键的话?

1 个答案:

答案 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>