返回

使用 Flask 实现 Python 数据库操作

闲谈

简介

数据库是现代 Web 应用程序不可或缺的一部分。Flask 是一个流行的 Python 微框架,它提供了一组工具来简化与数据库的交互。本文将介绍使用 Flask 进行数据库操作的基础知识,包括对象关系映射 (ORM)、迁移和查询。

对象关系映射 (ORM)

ORM 是一个工具,它允许您使用 Python 对象与数据库表进行交互。通过使用 ORM,您可以使用 Python 代码操纵数据库记录,而无需编写 SQL 查询。Flask 集成了一个名为 Flask-SQLAlchemy 的流行 ORM 库。

要使用 Flask-SQLAlchemy,您需要先安装它:

pip install Flask-SQLAlchemy

接下来,您需要在 Flask 应用程序中配置它:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)

这将配置 Flask-SQLAlchemy 使用 SQLite 数据库,但您可以轻松地将其更改为其他关系型数据库,例如 MySQL 或 PostgreSQL。

迁移

随着时间的推移,您的数据库架构可能会发生变化。迁移允许您以可控的方式管理这些更改。Flask 集成了一个名为 Flask-Migrate 的库,用于处理迁移。

要使用 Flask-Migrate,您需要先安装它:

pip install Flask-Migrate

接下来,您需要在 Flask 应用程序中配置它:

from flask_migrate import Migrate

migrate = Migrate(app, db)

这将允许您使用以下命令生成和应用迁移:

flask db init
flask db migrate
flask db upgrade

查询

您可以使用 Flask-SQLAlchemy 查询数据库记录。以下是查询所有用户的示例:

from app import db

users = db.session.query(User).all()

您还可以使用过滤器和排序来缩小查询范围,例如:

users = db.session.query(User).filter(User.name.like('%John%')).order_by(User.name)

结论

Flask 提供了一套强大的工具,用于与数据库进行交互。通过使用 Flask-SQLAlchemy 和 Flask-Migrate,您可以轻松地管理数据库操作并确保您的数据库架构随着时间的推移保持更新。