很多人学 Flask 卡在同一个地方:跟着文档写完一个 Hello World,知道路由怎么配、模板怎么渲染,但真给一个完整项目,就不知道从哪儿下手了。数据库表怎么设计、登录状态存在哪、视图函数该写多厚、哪些逻辑不该塞进视图里——这些问题文档不会直接回答你。
这门课围绕一个叫《鱼书》的项目展开,从头搭到尾。它的价值不在于教你 Flask 有哪些 API,而在于让你看到这些 API 在一个有用户、有权限、有业务流转的真实系统里是怎么组合起来的。
先确认你缺的是哪一块
如果你现在还停留在「用过 Flask 写过接口」,那要补的可能是这几处:
- 环境与依赖:能不能用 pipenv 干净地隔离出一个项目环境,而不是全局 pip install 到一团乱。
- 请求与响应:知道 request 对象,但说不清 Response、上下文变量、应用配置之间怎么配合。
- 数据层:ORM 会写简单查询,但面对多表关联、事务、模型关系就发怵。
- 用户体系:登录、注册、权限校验、状态维持这几件事,往往是零散查资料拼出来的,不成体系。
- 工程结构:代码一多就全堆在单个文件里,不知道该按什么维度拆分。
对照一下,超过两条中招,这门课就值得花时间。
课程实际在讲什么
前半段先把 Flask 的底层机制过一遍:用 pipenv 建虚拟环境、核心的请求响应流程、app.run 相关参数和配置文件的组织方式。这部分看起来基础,但配置怎么分层、响应对象怎么自定义,直接决定后面项目能不能写干净。
之后进入《鱼书》的主体。一个完整的业务项目必然要处理用户注册登录、会话维持、数据模型定义,以及视图层与业务逻辑的边界。课程是边做边讲,遇到问题解决一个问题,不是先讲完所有理论再动手。
这类跟着做的项目,最容易出现的情况是:视频里跑通了,自己合上视频写不出来。所以看的时候别只盯着代码对不对,多问一句「这一步为什么放在这里」。
配套练习怎么用
资料包里是分段的视频,节奏清楚,适合按章节推进。建议的做法是:
- 每看完一节,先别继续往下,把这一节的代码删掉重写一遍,写不出来的地方就是没真懂的地方。
- 环境搭建那部分亲手走一遍,别复制粘贴,pipenv 的坑只有自己踩过才记得住。
- 用户认证相关的部分,试着改一改逻辑,比如加一层校验,看会不会牵动别的地方。
- 项目做完之后,自己加一个小功能,比如某个列表页加筛选条件,检验你是否真的理解了整体结构。
看完应该能回答这些问题
用这几个问题自检,答得上来,说明这一轮没白学:
- 一个 Flask 项目的配置文件应该怎么分层,开发和生产环境怎么区分?
- 视图函数里哪些代码该留下,哪些该挪到别的地方,判断依据是什么?
- 用户登录状态是怎么在多次请求之间保持的?
- 模型之间的关系怎么定义,查询时怎么避免写出低效的代码?
- 如果现在让你从零起一个新项目,你的目录结构会怎么排?
答不上来的,回去补对应章节;答得上来但心里没底的,说明还需要再动手写一遍。缺什么补什么,比假装什么都会要省时间。
慕课实战 Python Flask高级编程之从0到1开发《鱼书》精品项目
Python Flask深度实践,从零开始构建《鱼书》项目
编辑点评
系统学习Flask框架,实战项目驱动,掌握ORM、用户认证、业务逻辑等核心技能。
⭐ 编辑推荐
本课程深入浅出地讲解Flask框架,通过构建《鱼书》项目,让你从零开始掌握Python Flask高级编程。
课程亮点
课程目录
📁 第2章 Flask的基本原理与核心知识
2-3 使用官方推荐的pipenv创建虚拟环境(很好用哦~).avi [192.4 MB]
2-10 响应对象:Response.avi [157.8 MB]
2-8 app.run相关参数与flask配置文件.avi [146.4 MB]
2-4 开发工具推荐.avi [16.1 MB]
2-6 flask最小原型与唯一URL原则.avi [142.9 MB]
2-2 准备工作.avi [47.0 MB]
2-7 路由的另一种注册方法.avi [127.0 MB]
2-9 你并没有真正理解 if __name__的作用 .avi [80.3 MB]
2-5 设置开发工具的默认解释器.avi [88.0 MB]
2-1 鱼书是一个什么样的产品.avi [57.4 MB]
📁 第11章 鱼书业务处理
11-9 我的心愿 一.avi [50.6 MB]
11-1 最近的礼物(复杂SQL的编写方案).avi [46.1 MB]
11-7 我的礼物 四.avi [73.0 MB]
11-6 我的礼物 三 (不要在函数中返回元组,而应该返回字典).avi [35.4 MB]
11-8 用户注销.avi [24.0 MB]
11-10 我的心愿 二 (再谈循环导入的解决方案).avi [54.1 MB]
11-5 我的礼物 二(group_by与funct.count统计联合使用).avi [67.8 MB]
11-3 完成最近的礼物(业务的四种编写方案).avi [74.0 MB]
11-4 我的礼物 一 (使用db.session和filter做查询).avi [54.7 MB]
11-2 链式调用.avi [9.0 MB]
11-11 我的心愿 三 (谈谈重复代码的封装技巧).avi [44.2 MB]
📁 第9章 用户登录与注册
9-2 书籍详情页面业务逻辑分析.avi [37.8 MB]
9-9 ORM的方式保存模型.avi [20.5 MB]
9-8 Python属性描述符实现getter与setter.avi [40.1 MB]
9-14 login_user 将用户信息写入cookie.avi [61.3 MB]
9-6 用户注册.avi [37.9 MB]
9-13 cookie的应用.avi [49.7 MB]
9-3 实现书籍详情页面.avi [58.5 MB]
9-15 访问权限控制.avi [47.1 MB]
9-7 Python的动态赋值.avi [37.4 MB]
9-5 自定义基类模型.avi [18.9 MB]
9-4 模型与模型关系.avi [48.4 MB]
9-16 重定向攻击.avi [30.6 MB]
9-12 cookie.avi [21.8 MB]
9-1 viewmodel意义的体现与filter函数的巧妙应用.avi [60.6 MB]
9-11 redirect重定向.avi [20.0 MB]
9-10 自定义验证器.avi [25.7 MB]
📁 第4章 蓝图、模型与CodeFirst
4-1 应用、蓝图与视图函数.avi [135.6 MB]
4-9 将模型映射到数据库中.avi [148.7 MB]
4-2 用蓝图注册视图函数.avi [119.2 MB]
4-5 WTForms参数验证.avi [256.3 MB]
4-10 ORM与CodeFirst区别.avi [90.5 MB]
4-7 Model First、Database First与Code First.avi [136.5 MB]
4-4 request 对象.avi [177.2 MB]
4-8 定义第一个模型类.avi [190.8 MB]
4-6 拆分配置文件.avi [340.8 MB]
4-3 单蓝图多模块拆分视图函数.avi [160.2 MB]
📁 第1章 课程导语
1-2 课程维护与提问.avi [6.4 MB]
1-1 开宗明义.avi [15.1 MB]
📁 资料
fisher(非课程同步代码).zip [5.8 MB]
初始代码.zip [5.5 MB]
📁 第12章 Python与Flask的结合应用
12-16 交易记录页面.avi [40.2 MB]
12-17 Drift ViewModel 一.avi [74.9 MB]
12-13 合理利用数据冗余记录历史状态.avi [45.1 MB]
12-2 first_or_404.avi [45.3 MB]
12-10 重置密码.avi [54.1 MB]
12-1 忘记密码(重置密码流程分析).avi [28.5 MB]
12-14 鱼漂条件检测.avi [98.2 MB]
12-15 完成鱼漂业务逻辑.avi [70.3 MB]
12-11 异步发送电子邮件.avi [85.8 MB]
12-18 Drift ViewModel 二.avi [29.4 MB]
12-12 鱼漂业务逻辑与Drift模型.avi [42.2 MB]
12-19 三种类模式的总结与对比.avi [44.3 MB]
12-6 装饰器app_errorhandler:AOP的应用.avi [41.4 MB]
12-23 邮寄成功.mp4 [66.5 MB]
12-4 HTTPException 一.avi [38.9 MB]
12-22 拒绝请求.mp4 [48.0 MB]
12-24 撤销礼物与心愿.mp4 [69.1 MB]
12-25 向他人赠送书籍.mp4 [75.1 MB]
12-20 更好的使用枚举.avi [63.9 MB]
12-7 发送电子邮件 一.avi [39.8 MB]
12-9 使用itsdangerous生成令牌.avi [60.3 MB]
12-5 HTTPException 二.avi [32.1 MB]
12-3 callable 可调用对象的意义.avi [66.1 MB]
12-8 发送电子邮件 二.avi [46.5 MB]
12-21 超权现象防范.avi [28.9 MB]
📁 第5章 flask核心机制
5-6 阅读源码解决db.create_all的问题.avi [282.8 MB]
5-2 AppContext、RequestContext、Flask与Request之间的关系.avi [157.3 MB]
5-3 详解flask上下文与出入栈.avi [315.5 MB]
5-5 详解上下文管理器的__exit__方法.avi [217.9 MB]
5-1 flask中经典错误 working outside application context.avi [100.9 MB]
5-4 flask上下文与with语句.avi [256.1 MB]
📁 第8章 静态文件、模板、消息闪现与Jinja2
8-5 流程控制语句 if.avi [15.9 MB]
8-2 模板文件的位置与修改方案_x264.avi [45.0 MB]
8-11 显示搜索结果页面.avi [67.0 MB]
8-10 消息闪现、SecretyKey与变量作用域.avi [45.2 MB]
8-9 反向构建URL.avi [35.7 MB]
8-1 静态文件访问原理.avi [70.7 MB]
8-7 使用模板继承.avi [28.3 MB]
8-3 Jinja2的概念.avi [32.1 MB]
8-12 页面结构解析.avi [92.5 MB]
8-4 在Jinja2中读取字典和对象.avi [9.3 MB]
8-6 流程控制语句 for in 循环.avi [15.1 MB]
8-8 过滤器与管道命令.avi [55.0 MB]
📁 第7章 书籍详情页面的构建
7-7 从json序列化看代码解释权反转.avi [65.3 MB]
7-6 重构鱼书核心对象:YuShuBook 下.avi [59.1 MB]
7-8 详解单页面与网站的区别.avi [55.4 MB]
7-4 伪面向对象:披着面向对象外衣的面向过程.avi [29.5 MB]
7-1 ViewModel的基本概念.avi [66.5 MB]
7-5 重构鱼书核心对象:YuShuBook 上.avi [58.0 MB]
7-2 使用ViewModel处理书籍数据 上.avi [63.7 MB]
7-3 使用ViewModel处理书籍数据 下.avi [53.3 MB]
📁 第6章 Flask中的多线程与线程隔离技术
6-9 线程隔离对象Local.avi [180.4 MB]
6-4 多线程的优势与好处.avi [51.6 MB]
6-7 开启flask多线程所带来的问题.avi [145.7 MB]
6-11 LocalStack作为-Stack-的基本用法.avi [111.0 MB]
6-8 线程隔离.avi [84.7 MB]
6-1 什么是进程.avi [153.2 MB]
6-3 多线程.avi [195.3 MB]
6-10 线程隔离的栈:LocalStack.avi [134.0 MB]
6-14 梳理串接flask的一些名词.avi [215.5 MB]
6-6 对于IO密集型程序,多线程是有意义的.avi [79.4 MB]
6-2 线程的概念.avi [82.3 MB]
6-5 全局解释器锁GIL.avi [206.2 MB]
6-13 flask中被线程隔离的对象.avi [241.8 MB]
6-12 LocalStack作为线程隔离对象的意义.avi [82.6 MB]
📁 第10章 书籍交易模型(数据库事务、重写Flask中的对象)
10-11 书籍详情页面.avi [26.3 MB]
10-13 重写filter_by.avi [74.4 MB]
10-6 结合继承、yield、contextmanager、rollback来解决问题.avi [42.7 MB]
10-1 鱼豆.avi [43.4 MB]
10-10 处理时间.avi [11.3 MB]
10-9 书籍交易视图模型.avi [65.9 MB]
10-4 Python @contextmanager.avi [45.9 MB]
10-5 灵活使用@contextmanager.avi [13.0 MB]
10-3 事务与回滚.avi [25.9 MB]
10-8 合理使用ajax.avi [29.3 MB]
10-2 思维逻辑锻炼.avi [28.0 MB]
10-7 类变量的陷阱.avi [28.7 MB]
10-12 再谈MVC中的Model.avi [40.3 MB]
📁 第3章 数据与flask路由
3-12 找不到视图函数的最终解释与证明.avi [91.9 MB]
3-4 简单的重构.avi [122.2 MB]
3-11 循环引入流程分析.avi [170.1 MB]
3-10 深入了解flask路由.avi [210.6 MB]
3-1 搜索而不是拍照上传.avi [70.8 MB]
3-2 数据API.avi [42.7 MB]
3-7 从API获取数据.avi [154.1 MB]
3-8 使用jsonify.avi [40.3 MB]
3-6 requests vs urllib.avi [146.1 MB]
3-3 搜索关键字.avi [165.8 MB]
3-5 requests发送http请求及代码的简化手段.avi [247.0 MB]
3-9 将视图函数拆分到单独的文件中.avi [146.5 MB]适合人群
- Python开发者
- Flask框架初学者
- 后端开发工程师
学习收获
祝您学习愉快!
学有所成,前程似锦!





![大疆维修,无人机维修教程[66.30GB]](/_next/image?url=https%3A%2F%2Fwww.itzhibei.com%2Fapi%2Fuploads%2Fb6a69810-862f-479c-a529-d66880073ebc.jpg&w=1920&q=75)
