如何使用Flask框架来显示数据库中的表格数据?

小贝
预计阅读时长 11 分钟
位置: 首页 小红书 正文

Flask 显示数据库表格

在 Web 开发中,Flask 是一个轻量级的 Python Web 框架,而 SQLAlchemy 是其常用的 ORM(对象关系映射)库,本文将介绍如何使用 Flask 和 SQLAlchemy 来显示数据库表格。

flask显示数据库表格

环境配置

你需要安装 Flask 和 SQLAlchemy:

pip install flask sqlalchemy

创建 Flask 应用和 SQLAlchemy 模型

1、初始化 Flask 应用

创建一个名为app.py 的文件,并初始化 Flask 应用:

   from flask import Flask, render_template
   from flask_sqlalchemy import SQLAlchemy
   app = Flask(__name__)
   app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
   app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
   db = SQLAlchemy(app)

2、定义模型

app.py 文件中定义你的数据模型,我们创建一个简单的User 模型:

flask显示数据库表格
   class User(db.Model):
       id = db.Column(db.Integer, primary_key=True)
       name = db.Column(db.String(80), unique=True, nullable=False)
       email = db.Column(db.String(120), unique=True, nullable=False)
       def __repr__(self):
           return f'<User {self.name}>'

3、创建数据库

使用 Flask-Shell 或直接运行脚本来创建数据库:

   with app.app_context():
       db.create_all()

插入数据

你可以在 Flask shell 中插入一些示例数据:

from app import db, User
插入一些示例数据
db.session.add(User(name='Alice', email='alice@example.com'))
db.session.add(User(name='Bob', email='bob@example.com'))
db.session.commit()

查询并显示数据

1、创建视图函数

app.py 文件中创建一个视图函数来查询并显示用户数据:

flask显示数据库表格
   @app.route('/users')
   def show_users():
       users = User.query.all()
       return render_template('users.html', users=users)

2、创建模板

在项目的templates 目录下创建一个名为users.html 的文件,用于显示用户数据:

   <!DOCTYPE html>
   <html lang="en">
   <head>
       <meta charset="UTF-8">
       <meta name="viewport" content="width=device-width, initial-scale=1.0">
       <title>Users</title>
   </head>
   <body>
       <h1>Users</h1>
       <table border="1">
           <tr>
               <th>ID</th>
               <th>Name</th>
               <th>Email</th>
           </tr>
           {% for user in users %}
               <tr>
                   <td>{{ user.id }}</td>
                   <td>{{ user.name }}</td>
                   <td>{{ user.email }}</td>
               </tr>
           {% endfor %}
       </table>
   </body>
   </html>

启动服务器

app.py 文件末尾添加以下代码以启动 Flask 服务器:

if __name__ == '__main__':
    app.run(debug=True)

运行python app.py,然后在浏览器中访问http://127.0.0.1:5000/users,你应该能看到一个显示用户数据的表格。

相关问题与解答

问题 1:如何修改用户信息?

答:要修改用户信息,可以使用 SQLAlchemy 的更新方法,如果你想更新用户的电子邮件地址,可以这样做:

user = User.query.filter_by(name='Alice').first()
if user:
    user.email = 'newemail@example.com'
    db.session.commit()

问题 2:如何删除用户?

答:要删除用户,可以使用 SQLAlchemy 的删除方法,如果你想删除名为 Bob 的用户,可以这样做:

user = User.query.filter_by(name='Bob').first()
if user:
    db.session.delete(user)
    db.session.commit()

到此,以上就是小编对于“flask显示数据库表格”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。

-- 展开阅读全文 --
头像
如何进行服务器注册?
« 上一篇 2024-12-12
如何设计一个高效的服务器架构方案?
下一篇 » 2024-12-12
取消
微信二维码
支付宝二维码

发表评论

暂无评论,1人围观

目录[+]