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