动态生成可变行数的HTML表格(Flask后端驱动)-js教程

本文介绍如何在flask应用中自动根据数据库查询结果动态渲染html表格,无需手动编写每一行代码,支持任意数量的记录(如50行、500行),兼顾简洁性与可维护性。

在Web开发中,将数据库查询结果以表格形式展示是常见需求。面对50行甚至上千行数据,若采用硬编码

标签逐行书写,不仅效率低下、极易出错,更完全违背现代Web开发的动态化原则。Flask 通过内置的 Jinja2 模板引擎,天然支持「数据驱动视图」——即在Python后端准备数据,在HTML模板中用逻辑标签循环渲染,实现真正的动态表格生成。

✅ 核心实现三步法

  1. 后端查询并传递数据:在路由函数中连接数据库(推荐使用 SQLAlchemy 或原生 sqlite3/psycopg2),执行查询,将结果(如列表字典 list[dict])作为上下文变量传入模板;
  2. 前端模板循环渲染:在 .html 文件中使用 {% for row in rows %} 遍历数据,并用 {{ row.field }} 插入字段值;
  3. 结构语义化与样式增强:合理使用

    / 区分表头与内容,配合 CSS 实现响应式边框、内边距与字体加粗。

    以下为完整可运行示例:

    app.py(Flask 后端)

    from flask import Flask, render_template
    
    app = Flask(__name__)
    
    # 示例:模拟从数据库获取的50条用户数据(实际项目中请替换为真实查询)
    def get_users_from_db():
        # 此处应为:db.session.execute("SELECT id, name, age FROM users").fetchall()
        return [
            {'id': i, 'name': f'User_{i}', 'age': 20 + (i % 40)}
            for i in range(1, 51)  # 生成50行
        ]
    
    @app.route('/')
    def show_table():
        users = get_users_from_db()
        return render_template('table.html', rows=users)
    
    if __name__ == '__main__':
        app.run(debug=True)

    templates/table.html(Jinja2 模板)

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » 动态生成可变行数的HTML表格(Flask后端驱动)-js教程
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4024668+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4024668+
  • 本周更新: 0+
  • 最后更新: 2026-03-16