39. 结论
让我们回顾一下本文中完成的工作:
章节 | 代码仓库 | 目录 |
课程概述 | ||
设置工作环境 | ||
[基础] | Python 语言的基础 – 语言结构 – 数据类型 – 函数 – 控制台输出 – 格式字符串 – 类型转换 – 列表 – 字典 – 正则 表达式 | |
[字符串] | 字符串表示法 – <str> 类的方法 – 字符串的编码/解码 UTF-8 字符串 | |
[异常] | 异常处理 | |
[函数] | 变量作用域 – 参数 传递 – 使用模块 – Python 路径 – 命名 参数 – 递归 函数 | |
[文件] | 读写文本文件 – 处理 UTF-8 编码的文件 – 处理 JSON 文件 | |
[taxes/v01] | 应用程序的第 1 版 练习:计算所得税 。该应用程序共有18个 个版本——第1版实现了 一种过程化解法 | |
[导入] | 管理应用程序 通过导入 模块——本文介绍了 管理方法 ——该方法贯穿 文档中——管理 Python 路径 | |
[imports/v02] | 应用程序的第 2 版 在第 1 版的基础上,将 所有配置常量整合到一个 配置文件中,该文件还 管理 Python 路径 | |
[impots/v03] | 该应用程序的第 3 版 在第 2 版的基础上,通过使用 封装在 模块中封装的函数—— 管理通过 配置文件——引入了一个 JSON文件来读取 用于税费计算,并写入 计算结果 | |
[classes/01] | 类 – 继承 – 方法 和属性 – 获取器/设置器 – 构造函数 – [__dict__] 属性 | |
[classes/02] | [BaseEntity] 和 [MyException] 类 在 ——[BaseEntity] 有助于实现对象/字典 转换 | |
[三层] | 分层架构与 基于接口的编程。 本章介绍了 在 在 文档 | |
[taxes/v04] | 应用程序的第4版——此 版本实现了一个 ,采用分层架构, 基于接口的编程,以及 并使用从 [BaseEntity] 以及 [MyException] | |
[databases/mysql] | 安装 MySQL 数据库管理系统 – 连接数据库 – 创建表 – 执行 SELECT、UPDATE、DELETE、 和 INSERT SQL 语句 – 事务 – 参数化 SQL查询 | |
[数据库/PostgreSQL] | 安装 PostgreSQL 数据库管理系统 – 连接数据库 – 创建表 – 执行 SELECT、UPDATE、DELETE 和 INSERT SQL 语句 – 事务 – 参数化 SQL查询 | |
[数据库/任意DBMS] | 编写与数据库管理系统无关的代码 | |
[数据库/SQLAlchemy] | SqlAlchemy ORM(对象- 关系映射器)——一种 ORM 提供了一种统一的方法来 处理不同的数据库管理系统(DBMS)—— 将类映射到 SQL 表 – 对类进行操作 表示 SQL 表 | |
[taxes/v05] | 税费计算应用程序的第5版 ——采用分层 架构以及 SqlAlchemy ORM 配合 支持MySQL和PostgreSQL 数据库管理系统 | |
[inet] | Web 编程 – TCP/IP 协议(传输控制 协议 / 互联网协议) – HTTP 协议(超文本 传输协议) – SMTP (简单邮件传输协议) – POP(邮局协议)– IMAP(互联网邮件访问 协议) | |
[flask] | 使用 Flask Web 框架——显示一个 HTML 页面 – JSON Web 服务 – GET 和 POST 请求 – 管理 Web 会话 | |
[impots/http-servers/01] [taxes/http-clients/01] | 应用程序第 6 版 练习——创建一个用于税费计算的 JSON Web 服务,采用 多层架构——编写 基于此服务器的 多层架构—— 客户端/服务器编程 – 使用 [requests] 模块 | |
[taxes/http-servers/02] [taxes/http-clients/02] | 应用程序的第7版 练习——第6版已改进: 客户端和服务器均 支持多线程——[Logger] 用于记录客户端/服务器 通信记录的实用工具 – [SendMail] 用于向 向应用程序 管理员 | |
[taxes/http-servers/03] [taxes/http-clients/03] | 应用程序第8版 练习——第7版已通过 通过使用Web会话 | |
[xml] | XML(扩展标记 语言) 管理与 [xmltodict] 模块 | |
[taxes/http-servers/04] [impots/http-clients/04] | 应用程序第 9 版 练习——修改第8版 以包含客户端/服务器 ; | |
[taxes/http-servers/05] [taxes/http-clients/05] | 应用程序第 10 版 练习——通过 N 次 GET 请求 纳税人, 使用单个 POST 请求 将这 N 位纳税人包含在 POST 正文中 | |
[taxes/http-servers/06] [taxes/http-clients/06] | 应用程序第 11 版 练习——应用程序的 客户端/服务器架构 进行了修改:[业务]层 从服务器移至 客户端 | |
[taxes/http-servers/07] | 应用程序的第12版 练习——此版本实现了 一个 MVC(模型–视图– 控制器)服务器,用于提供 JSON、XML 和 HTML 格式,具体取决于 客户端的请求。本章 实现了该服务器的 JSON 和 XML 版本 | |
[impots/http-clients/07] | JSON 和 XML客户端的实现 (第12版) | |
[impots/http-servers/07] | HTML 服务器——使用 Bootstrap CSS 框架—— | |
[impots/http-servers/08] | 应用程序的第13版 练习——重构代码 (基于第12版)——会话 管理 [flask_session] 模块和 Redis 服务器——使用加密 密码 | |
[imports/http-servers/09] [impots/http-clients/09] | 应用程序第14版 练习——实现 URL 使用 CSRF(跨站请求 )令牌 | |
[impots/http-servers/10] | 应用程序第15版 练习——重构代码 从第14版开始,以处理两种 操作类型:ASV(操作 显示视图),仅用于 用于显示视图,而 ,以及 ADS(Action Do Something), 则执行会 ——这些 操作最终都会重定向到 ASV 操作——这使得 正确处理页面刷新 | |
[impots/http-servers/11] | 应用程序第 16 版—— 带前缀的URL管理 | |
[impots/http-servers/12] | 应用程序第 17 版 – 将第16版移植到 Apache/Windows 服务器 | |
[impots/http-servers/13] | 应用程序的第 18 版 – 修复了第 17 版中的一个错误 |
客户端/服务器税务计算应用程序已实现以下架构:

上层的 [web] 层采用 MVC 架构实现:

本文内容较为密集。读完本文的读者将对 Python/Flask 中的 MVC Web 编程有深入的理解,进而也能对其他语言中的 MVC Web 编程有扎实的掌握。
有关 Flask 框架的更多信息,可参阅作者 Miguel Grinberg 撰写的文档 [https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world]。我阅读了该课程的部分内容,觉得非常有启发性。作者在其中阐述了许多本文未涉及的概念。