使用For循环迭代Flask模板中的多个嵌套列表

2024-06-26 15:03:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有如下Python列表

[[1, 'sarmad ali', 10], [2, 'nabeel', 200], [3, ' tayyab', 40202]]

我想在模板(html页面)中以表格/二维样式显示它们,如下所示

1 sarmad ali 10

2 nabeel 200

3 tayyab 40202

我能得到以下信息

1 sarmad ali 10 2 nabeel 200 3 tayyab 40202

在我的python文件中,数据的格式为Dataframe,并转换为list

{% for col in data_list%}
    
    {% for row in col%}
        
        <td>{{row}}</td>
    
    {% endfor %}
    
    <br>

{% endfor %}

上面的嵌套循环以单行而不是表格格式生成输出。 我发现第二个循环是在单行中迭代所有列表,而不是一次迭代单个列表

请随时提出任何问题以获得更多澄清


Tags: in模板列表forhtml格式ali表格
2条回答
<table>
{% for sno, name, rank in data_list%}
   <tr>
     <td>{{sno}}</td>
     <td>{{name}}</td>
     <td>{{rank}}</td>
  </tr>
{% endfor %}
</table>

编辑: 假设您不知道列表中的项目数

<table>
{% for tr in data_list%}
   <tr>
   {% for td in data_list%}
     <td>{{td}}</td>
    {% endfor%}
  </tr>
{% endfor %}
</table>

这就是我在模板文件中用来显示列表的内容

<div class="content-section">
    <legend class="mb-4"> Table </legend>
<table class="table" >
<thead>
    <tr>
      <th scope="col">#</th>
      {%for i in columns%}
      <th scope="col">{{i[0]}}</th>
      {%endfor%}
    </tr>
  </thead>
  <tbody>

    {%for i in result%}

    <tr>
          <th scope="row">{{loop.index}}</th>
          {%for k in i%}
          <td>{{k}}</td>
          {%endfor%}
      </tr>

    {%endfor%}
    </tbody>
</table>

</div>

相关问题 更多 >