19 Flask 数据库连接实战指南

19 Flask 数据库连接实战指南

在本节中,我们将学习如何在 Flask 项目中连接数据库。我们将使用 SQLAlchemy 作为 ORM(对象关系映射)工具来简化数据库操作。

安装所需库

首先,确保你已经安装了 Flask 和 Flask-SQLAlchemy。运行以下命令安装:

1
pip install Flask Flask-SQLAlchemy

创建 Flask 应用

接下来,我们将创建一个简单的 Flask 应用,并设置数据库连接。

1
2
3
4
5
6
7
8
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db' # 使用 SQLite 数据库
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False # 关闭修改跟踪

db = SQLAlchemy(app)

在上面的代码中,我们配置了一个 SQLite 数据库,数据库文件将被创建为 site.db

定义数据模型

接下来,我们需要定义我们的数据模型。假设我们正在开发一个博客应用,我们将创建一个简单的 Post 模型。

1
2
3
4
5
6
7
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100), nullable=False)
content = db.Column(db.Text, nullable=False)

def __repr__(self):
return f"Post('{self.title}', '{self.content}')"

在这个 Post 模型中,我们定义了三个字段:idtitlecontent

创建数据库

创建完模型后,我们需要生成数据库。我们可以通过以下代码初始化数据库:

1
2
3
@app.before_first_request
def create_tables():
db.create_all()

这样设置后,每当应用首次运行时,会自动创建所有定义的表。

添加示例数据

现在,让我们添加一些示例数据。我们可以在 Flask shell 中进行这个操作。

1
flask shell

在 Flask shell 中,输入以下代码:

1
2
3
4
5
6
from app import db, Post

# 创建新帖子
new_post = Post(title='我的第一篇文章', content='这是我的第一篇文章内容!')
db.session.add(new_post)
db.session.commit() # 提交到数据库

查询数据

现在我们已经有了数据,接下来我们来查询这些数据。

1
2
3
posts = Post.query.all()  # 查询所有帖子
for post in posts:
print(post.title, post.content)

Flask 路由示例

我们还可以将这个数据库操作与 Flask 路由结合起来,在浏览器中查看帖子。

1
2
3
4
@app.route('/')
def index():
posts = Post.query.all() # 查询所有帖子
return '<br>'.join([f"{post.title}: {post.content}" for post in posts])

在这个路由中,我们查询所有 Post 实例,并返回一个简单的 HTML 页面显示帖子标题和内容。

总结

在这一节中,我们学习了如何在 Flask 中连接数据库并执行基本的数据库操作。我们:

  • 安装了 Flask-SQLAlchemy
  • 创建了 Flask 应用并连接了 SQLite 数据库
  • 定义了数据模型
  • 创建了数据库表
  • 添加了和查询了数据

通过这些步骤,你可以轻松开始使用 Flask 进行数据库操作。继续深入学习,提升你的 Flask 开发技能!

19 Flask 数据库连接实战指南

https://zglg.work/flask/19/

作者

AI教程网

发布于

2024-08-08

更新于

2024-08-10

许可协议