这门课解决什么场景,值得学吗

很多后端开发者卡在 Django 太重、原生 Flask 难以维护的中间地带。这门课针对的是:你希望快速掌握 Python Web 开发核心能力,但拒绝写散乱的视图函数,想用工业级标准构建前后端分离架构。它不教如何写"Hello World",而是从项目初始化开始,讲解如何用"红图"机制替代原生蓝图,解决路由组织混乱的问题。随后引入自定义异常体系和 WTForms 改造,填补了 Flask 原生框架在数据校验和错误处理上的空白。对于想独立承担 API 开发任务、或希望将现有 Flask 项目升级到更规范架构的工程师,这门课提供了比基础教程更贴近生产环境的解决方案。你不再需要面对路由文件膨胀后的失控局面,也能输出符合前端协作标准的 API 响应格式,大幅降低前后端联调成本。

适合什么基础,先看哪几块

课程要求具备扎实的 Python 基础语法能力,了解 HTTP 协议基本概念及 GET、POST 等常用请求方式即可,无需预先掌握 SQLAlchemy 复杂配置或 Linux 运维知识。建议学习顺序如下:首先通过第 1 章对比 Flask 与 Django 的差异,明确技术选型逻辑;接着在第 2 章深入理解"红图"实现原理,这是后续所有路由管理的基础;第 4 章关于用户模型和自定义异常的章节是核心,务必亲手实现 APIException 类以理解错误流转;第 5 章对 WTForms 的重写和全局异常处理,决定了你未来维护代码的舒适程度。第 3 章关于 REST 特征的讨论可作为理论补充按需选看。不要跳过红图优化的细节,那里藏着解决视图函数耦合的关键,建议反复调试代码以巩固理解。

学完能做什么,资料怎么配合

学完本阶段内容,你将能够独立搭建结构清晰的后端服务项目。具体而言,你可以实现基于 Token 的用户注册登录接口,完成不同客户端的身份验证,并建立标准化的 API 错误响应格式。你将不再依赖框架默认的简陋报错,而是能输出符合前端协作规范的异常信息,支持更复杂的业务逻辑校验。配合资料练习时,不要只看视频,必须跟着代码手写 Redprint 类,并手动调试异常捕获逻辑。试着将课程中的用户注册功能扩展为支持多种客户端类型的验证,利用重写后的 WTForms 进行参数清洗。只有亲手解决过"未知异常"的处理流程,才算真正掌握了这套开发模式,能够在实际工作中独立应对更复杂的 API 设计需求,快速投入商业项目开发。

课程目录

第1章 随便聊聊 2 节 | 10分钟 1-1 Flask VS Django (06:46).mp4
 1-2 课程更新维护说明 (02:33).mp4
 第2章 起步与红图 试看 7 节 | 58分钟 2-1 环境、开发工具与flask1.0 (05:18).mp4
 2-2 初始化项目 (03:57).mp4
 2-3 新建入口文件 (07:13).mp4
 2-4 蓝图分离视图函数的缺陷 (09:27).mp4
 2-5 打开思维,创建自己的Redprint——红图 (11:32).mp4
 2-6 实现Redprint (16:50).mp4
 2-7 优化Redprint (03:19).mp4
 第3章 REST基本特征 2 节 | 18分钟 3-1 REST的最基本特征(可选观看) (05:46).mp4
 3-2 为什么标准REST不适合内部开发(可选观看) (12:09).mp4
 第4章 自定义异常对象 9 节 | 76分钟 4-1 关于“用户”的思考 (06:25).mp4
 4-2 构建Client验证器 (09:22).mp4
 4-3 处理不同客户端注册的方案 (05:36).mp4
 4-4 创建User模型 (08:55).mp4
 4-5 完成客户端注册 (11:35).mp4
 4-6 生成用户数据 (08:29).mp4
 4-7 自定义异常对象 (10:45).mp4
 4-8 浅谈异常返回的标准与重要性 (03:18).mp4
 4-9 自定义APIException (10:37).mp4
 第5章 理解WTForms并灵活改造她 5 节 | 36分钟 5-1 重写WTForms 一 (02:06).mp4
 5-2 重写WTForms 二 (08:38).mp4
 5-3 可以接受定义的复杂,但不能接受调用的复杂 (07:49).mp4
 5-4 已知异常与未知异常 (05:08).mp4
 5-5 全局异常处理 (11:41).mp4
 第6章 Token与HTTPBasic验证 —— 用令牌来管理用户 8 节 | 52分钟 6-1 Token概述 (03:43).mp4
 6-2 获取Token令牌 (12:10).mp4
 6-3 Token的用处 (05:41).mp4
 6-4 @auth拦截器执行流程 (08:13).mp4
 6-5 HTTPBasicAuth基本原理 (06:12).mp4
 6-6 以BasicAuth的方式发送Token (02:30).mp4
 6-7 验证Token (07:45).mp4
 6-8 重写first_or_404与get_or_404 (04:55).mp4
 第7章 模型对象的序列化 8 节 | 52分钟 7-1 鸡汤? (06:58).mp4
 7-2 理解序列化时的default函数 (06:41).mp4
 7-3 不完美的对象转字典 (06:58).mp4
 7-4 深入理解dict的机制 (09:02).mp4
 7-5 一个元素的元组要特别注意 (01:29).mp4
 7-6 序列化SQLAlchemy模型 (04:35).mp4
 7-7 完善序列化 (09:02).mp4
 7-8 ViewModel对于API有意义吗 (06:33).mp4
 第8章 权限控制 

15 节 | 95分钟 8-1 删除模型注意事项 (07:39).mp4
 8-2 g变量中读取uid防止超权 (07:22).mp4
 8-3 生成超级管理员账号 (05:52).mp4
 8-4 不太好的权限管理方案 (09:58).mp4
 8-5 比较好的权限管理方案 (05:59).mp4
 8-6 实现Scope权限管理 一 (09:19).mp4
 8-7 globals()实现“反射” (07:37).mp4
 8-8 实现Scope权限管理 二 (03:12).mp4
 8-9 Scope优化一 支持权限相加 (06:13).mp4
 8-

10 Scope优化 二 支持权限链式相加 (01:52).mp4
 8-

11 Scope优化 三 所有子类支持相加 (04:33).mp4
 8-

12 Scope优化 四 运算符重载 (02:52).mp4
 8-

13 Scope 优化 探讨模块级别的Scope (07:00).mp4
 8-

14 Scope优化 实现模块级别的Scope (06:08).mp4
 8-

15 Scope优化 七 支持排除 (08:55).mp4
 第9章 实现部分鱼书小程序功能 8 节 | 48分钟 9-1 小程序演示API调用效果 (08:16).mp4
 9-2 模糊搜索书籍 (09:16).mp4
 9-3 再谈严格型REST的缺陷 (05:23).mp4
 9-4 实现hide方法 (04:10).mp4
 9-5 @orm.reconstructor 解决模型对象实例化问题 (07:21).mp4
 9-6 重构hide与append (03:32).mp4
 9-7 赠送礼物接口 (04:17).mp4
 9-8 实现获取令牌信息接口 (04:47).mp4