首页 > Python进阶方向应用 > Flask 框架教程 > Flask 项目实战 1_功能介绍

Flask 项目实战 1: 功能介绍

在 Flask 教程的最后,讲解一个涉及多个 Flask 知识点的综合案例,一个功能完整的 Web 应用程序 —— 待做清单。该综合案例较大,将其分为 3 个部分:

  • Flask 项目实战 1 :功能介绍;
  • Flask 项目实战 2 :后端实现;
  • Flask 项目实战 3 :前端实现。

本小节首先介绍了待做清单的功能,然后讲解了程序的总体结构。

1. 功能简介

本节使用 Flask 开发一个功能完整的 Web 应用程序 —— 待做清单,该 Web 应用程序记录待做事项。程序提供了用户注册的功能,用户登录后,录入的待做事项被记录在服务端,如果换一台机器,使用浏览器登录后,仍然能够看到已经录入的待做事项。

下面的视频演示了待做清单的功能:

2. 涉及的知识点

本节开发的待做清单程序,在保持程序简短时,尽可能融入了更多的知识点,包括:

  • 模板
  • WTF 表单和表单验证
  • 蓝图
  • ORM 访问数据库
  • 会话 Session

3. 运行程序

3.1 源程序下载

点击下载本节的例子代码

3.2 源文件目录

程序由多个源文件构成,如下所示:

源文件 描述
db.sql 创建数据库的 SQL 脚本文件
app.py Flask 应用程序实例以及配置
main.py Flask 应用程序的入口
db.py 提供访问数据库的功能函数
users.py 实现蓝图 users,提供登录、注册的功能
todos.py 实现蓝图 todos,提供增加、修改、删除待做事项 todo 的功能
templates/index.html 首页的页面模板
templates/login.html 登录的页面模板
templates/register.html 注册的页面模板
static/style.css 样式文件
static/script.js 调用后端服务的接口

3.3 安装相关的库

为了使用 Flask 框架、数据库 ORM、表单验证等模块,使用 pip3 依次安装:

pip3 install flask
pip3 install pymysql
pip3 install SQLAlchemy
pip3 install flask-sqlalchemy
pip3 install wtforms
pip3 install flask-wtf

3.4 设置数据库

例子使用 mysql 数据库,用户名为 root,密码为 ‘123456’,可以在 db.py 中修改用户名和密码。

启动 mysql 后,执行数据库脚本 db.sql 创建数据库 todoDB:

mysql> source db.sql

3.5 运行程序

main.py 是程序的入口,执行如下命令启动程序:

$ python3 main.py

4. 程序的结构

图片描述

程序的核心结构如上图所示,程序由前端与后端构成。

前端的核心操作如下:

  • 在 login.html 中,通过 POST 方法向页面 /users/login 提交表单请求完成登录;
  • 在 register.html 中,通过 POST 方法向页面 /users/register 提交表单请求完成登录;
  • 访问页面 /users/logout 退出系统;
  • 在 script.js 中,函数 addTodo () 通过 Ajax 向页面 /todos/add 请求增加待做事项;
  • 在 script.js 中,函数 updateTodo () 通过 Ajax 向页面 /todos/update 请求更新待做事项;
  • 在 script.js 中,函数 deleteTodo () 通过 Ajax 向页面 /todos/delete 请求删除待做事项。

后端的核心操作如下:

  • Flask 程序使用了 2 个蓝图:users 和 todos;
  • 蓝图 users 定义了页面 /users/login 、/users/register、/users/logout,登录和注册的页面处理函数是 login 和 register,最终调用 db.js 中的数据库访问函数 login 和 register,实现登录和注册的功能;
  • 蓝图 todos 定义了页面 /todos/add、/todos/update、/todos/delete,它们的页面处理函数是 addTodo、updateTodo、deleteTodo,最终调用 db.js 中的数据库访问函数 addTodo、updateTodo、deleteTodo,实现增加、更新、删除待做事项的功能。

5. 小结

本小节介绍了待做清单的功能和程序结构,使用思维导图描述如下:

图片描述

本文来自互联网用户投稿,不拥有所有权,该文观点仅代表作者本人,不代表本站立场。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,邮箱:80764001@qq.com,予以删除。
© 2023 PV138 · 站点地图 · 免责声明 · 联系我们 · 问题反馈