Flask SQLite

17 Mar 2025 | 6 分钟阅读

Flask 可以使用 Python 的 SQLite3 模块来创建数据库 Web 应用程序。在本教程的这一部分中,我们将创建一个 CRUD(创建 - 读取 - 更新 - 删除)应用程序。

由于我们已经详细介绍了 Python 应用程序如何与 SQLite 数据库交互,要复习该概念,请访问此链接:Python SQLite

Flask 中的 CRUD 应用程序

在这里,我们将使用 Flask 脚本来管理 SQLite 数据库中的员工信息,管理员可以与该脚本进行交互。为此,数据库 employee.db 包含相关表,而 Employees 表包含员工信息。

首先,让我们使用以下 Python 脚本在 SQLite 中创建数据库 employee.DB 和表 Employees。

EmoloyeeDB.py

要在 Flask 中构建 CRUD 应用程序,我们必须关注视图函数(用于获取输入)和控制器(用于将数据保存到数据库中)。

让我们看看与 URL (/) 关联的视图函数:index()。它渲染模板 index.html

以下 HTML 模板 (index.html) 被视为我们应用程序的主页。它提供了链接,我们可以使用这些链接添加、查看和删除存储在数据库中的数据。

index.html

与 URL (/add) 关联的视图函数 add() 渲染下面给出的模板 add.html。它提供了输入员工信息的表单。

add.html

管理员输入的所有详细信息都发布到与函数 saveDetails() 关联的 URL /savedetails。下面给出了 saveDetails() 函数,其中包含用于提取管理员输入的数据并将该数据保存到 Employees 表中的代码。

它还根据数据成功插入或发生错误的情况生成消息。

它渲染模板 success.html 以向管理员显示消息。它还包含一个链接,用于查看用户输入的记录。

success.html

delete() 函数与 URL /delete 关联。它渲染一个 HTML 模板 delete.html,该模板向管理员提供一个表单,提示输入要删除记录的 Employee_Id。它还包含一个指向 /view URL 的链接,该链接向管理员显示所有记录。

HTML 模板 delete.html 如下所示。

delete.html

管理员输入的 Employee_Id 被发布到 URL /deleterecord,其中包含建立数据库连接然后删除指定 Employee ID 的所有记录的 Python 代码。URL /deleterecord 与下面给出的函数 deleterecord() 关联。

deleterecord() 函数根据数据是否成功删除或发生错误的情况生成消息。它渲染 HTML 模板 delete_record.html 以向管理员显示消息。

delete_record.html

模板 delete_record.html 包含一个指向 URL /view 的链接,该链接向管理员显示员工记录。

它与函数 view() 关联,该函数建立与数据库的连接,获取所有信息并将该信息传递给 HTML 模板 view.html 以在客户端浏览器上显示。

在浏览器上显示所有信息的 HTML 模板 view.html 如下所示。

view.html

完整的 Python 脚本如下所示。

crud.py

在终端上使用以下命令运行 Python 脚本 EmployeeDB.py 来创建数据库和 Employees 表。

现在,运行 Flask 脚本 crud.py 并在浏览器上访问 https://:5000

Flask SQLite

单击链接 添加员工 以向数据库添加新员工。

Flask SQLite

填写此表单并单击 提交 以将详细信息保存到数据库中。

Flask SQLite

现在,单击 查看员工 以列出数据库中的所有员工。到目前为止,列表中只有一个员工,如下图所示。

Flask SQLite

单击页面底部的链接返回主页。

现在单击 删除记录 以检查脚本如何删除特定 employee_id 的记录。

Flask SQLite

输入要删除记录的任何员工 ID。在这里,我们必须注意,如果输入的员工 ID 不存在于数据库中,则会显示错误消息。让我们输入员工 ID 1 以从数据库中删除员工 John。

Flask SQLite

因此,ID 为 1 的员工记录被删除。在这里,我们可以通过查看列表来确认这一点。单击 查看列表 以查看列表。


下一个主题Flask SQLAlchemy





Youtube 关注我们的Youtube频道获取视频:立即加入

反馈


帮助他人,请分享

facebooktwitterpinterest

学习最新教程


准备


热门技术


B.Tech / MCA