【问题标题】:display two python lists in html using jinja template as two columns in web page使用 jinja 模板在 html 中显示两个 python 列表作为网页中的两列
【发布时间】:2022-10-19 15:11:39
【问题描述】:

我有两个 python 列表:

list_1 = [1, 2, 3, 4, 5, 6, 7]
list_2 = ["A", "B", "C", "D", "E", "F", "G"]

我努力了:

<div class="tableFixHead">
  <table id="data">
    <tr>{% for num in list_1 %}
      <td>{{num}}</td>
    </tr>
    <tr>{% for alp in list_2 %}
      <td>{{alp}}</td>
    </tr>
    {% endfor %}
</div>

有了这两个列表,我想使用 jinja 在网页中创建一个表格,如下所示:

我可以在使用单个列表时做到这一点。但是如何处理多个列表呢?

【问题讨论】:

  • What have you tried so far?请帮助我们重现您的问题,例如发布您的尝试并描述您的问题到底在哪里。
  • ` <div class="tableFixHead"> <table id="data"> <tr>{% for alp in list_1 %} <td>{{alp}}</td> </tr> {% endfor %} < /div>`

标签: python html flask jinja2


【解决方案1】:

您只有一个 {% endfor %} 用于两次迭代。 This looks wrong,还有tdtr 元素looks mixed up。我推荐的是zip 后端的列表,如下所示:

data = zip(list_1, list_2)

然后在前端迭代这些元组对:

<div class="tableFixHead">
  <table id="data">
    {% for num, alp in data %}
    <tr>
      <td>{{ num }}</td>
      <td>{{ alp }}</td>
    </tr>
    {% endfor %}
  </table>
</div>

(当然,您也可以在前端使用 zip 功能,e.g. via Jinja2 filter。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 2018-04-10
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 2018-09-24
    相关资源
    最近更新 更多