Jinja2字典列表到HTML表中?

msm*_*114 2 python jinja2 flask

所以我试图从字典列表中使用Jinja2创建一个HTML表格(由Flask SQL select语句返回).

现在test_list已经存储了一个字典列表(键是DB列).

现在我用这个:

<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>
Run Code Online (Sandbox Code Playgroud)

它确实有效,但它基本上产生了2列(一列是键,一列是列).我想将DB键作为表中的列标题,然后只是放入每列的值.

这可能吗?因为我想要只重复一次密钥?

Jon*_*ice 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>
Run Code Online (Sandbox Code Playgroud)