求助:如何在Flask HTML页面中正确展示指定多维列表
解决Flask模板中多维列表的显示问题
嘿,我来帮你搞定这个Flask模板里的列表显示问题!你现在的问题出在模板循环的逻辑上——你的list_html是个二维列表,外层循环拿到的是每个子列表,但你没有进一步遍历子列表里的每个条目,而且{{data[dat]}}这种写法是错误的,dat是子列表对象,没法作为索引去取data里的元素。
给你两个关键步骤来修复:
1. 确保路由里正确传参(如果还没做好的话)
在你的Flask路由函数里,要把list_html以data为键传给模板:
from flask import Flask, render_template app = Flask(__name__) @app.route('/') def show_list(): list_html = [['Mun--CEO--Bank', 'Chee--CEO--Trust'], ['Miloš--Researcher--College'], ['Mun--CEO--Bank']] return render_template('your_template.html', data=list_html)
2. 修改模板里的循环逻辑
你需要用嵌套循环:先遍历外层的每个子列表,再遍历子列表里的每个条目,把每个条目单独放在<li>标签里。模板代码改成这样:
<ul> {% for sublist in data %} {% for item in sublist %} <li>{{ item }}</li> {% endfor %} {% endfor %} </ul>
这样渲染出来的页面就会和你预期的一样,每个条目单独一行,带项目符号:
- Mun--CEO--Bank
- Chee--CEO--Trust
- Miloš--Researcher--College
- Mun--CEO--Bank
如果不想用默认的项目符号,也可以通过CSS调整样式,或者把<ul>换成<div>,每个条目用<p>标签包裹,同样能实现每行一个条目。
内容的提问来源于stack exchange,提问作者JBH
相关产品推荐
相关产品推荐

