缺什么补什么:别拿模板当框架
这门资料解决的核心痛点是:很多转岗或自学者学过一点 Python 基础语法,却始终停留在写控制台脚本阶段,不知道怎么把代码搬到浏览器上跑出一个能交互的网页。如果你一提到 Web 开发就头疼于环境配置,或者以为只要复制一段 HTML 就算全栈了,那这份内容就是用来补这个能力缺口的。它适合已经掌握 Python 变量、函数、循环等基本写法,但完全没碰过后端服务、连 HTTP 请求响应模型都理不清的人。如果你连 Python 的缩进和基础模块导入都写不利索,建议先去补纯语法,别在这里假装自己能看懂路由装饰器。资料前期的主线非常明确,就是带你从零敲出一个最小的 Web 应用,并弄懂用户在浏览器输入网址后,后台到底执行了哪几行代码。
怎么练:先打通请求闭环,再死磕表单
建议先集中精力看两部分:第一是入门的 Hello World 体系,重点理解路由怎么把一个网址映射到具体的函数上,以及源码里那一行返回字符串到底是怎么变成浏览器页面的;第二是紧随其后的 HTML 基础块,不要觉得前端标签简单就快进,这里的核心目的是让你具备独立编写页面结构的能力。配套练习方面,不要光对着视频抄代码,必须自己手敲。看完基础结构后,尝试不参考资料,独立写一个包含标题、段落、图片和表格的静态页面;等讲到表单部分时,立刻结合前面的路由知识,写一个带输入框和提交按钮的页面,让 Flask 后端能接收到表单传来的数据并打印到控制台。资料里的每一块代码都要本地跑通,遇到报错先自己查文档,别急着找答案,把环境跑起来本身就是 Web 开发的第一道门槛。
看完能做什么:独立搭出可交互的页面
学完这部分资料后,你应该能独立完成这些事:在本地搭建并运行一个 Flask 开发服务器,编写多个路由视图函数处理不同的 URL 请求,编写规范的 HTML 文件并让 Flask 渲染到浏览器,以及使用表单收集用户输入并在后端进行处理。看完后请用这几个问题自测:当你在浏览器访问一个路由时,Flask 内部是从哪个装饰器开始执行的?一个完整的 HTML 文档必须包含哪些基础结构标签?如果用户通过表单提交了数据,后端该用哪个方法把数据取出来?如果你能不假思索地回答这些,说明基础闭环已经打通,接下来就可以去补数据库操作、模板引擎 Jinja2 以及更复杂的业务逻辑了。别指望看完这点内容就能直接去写大型商业项目,老老实实把地基夯实,缺什么补什么,这才是技术转岗该有的踏实态度。
课程目录
1-1 [Hello World] 课程介绍 (05:58) 1-2 [Hello World] 到底什么是Flask (11:24) 1-3 [Hello World] 给Helloworld加上HTML (04:44) 1-4 [Hello World] 关于源码的解释 (02:19) 2-1 [HTML基础] 可以用到的一些资料 (09:08) 2-2 [HTML基础] 标签和属性 (05:55) 2-3 [HTML基础] HTML文件的基本结构 (08:19) 2-4 [HTML基础] 段落和列表 (04:43) 2-5 [HTML基础] 在页面上显示图片 (06:33) 2-6 [HTML基础] 页面上设置链接 (05:09) 2-7 [HTML基础] 在页面上创建Table表格 (05:38) 2-8 [HTML基础] 在页面上创建表单Form (07:20) 3-1 [CSS基础] 什么是CSS (04:43) 3-2 [CSS基础] 内联式Inline CSS (10:01) 3-3 [CSS基础] 嵌入式Internal CSS (04:00) 3-4 [CSS基础] 外部式External CSS (05:00) 3-5 [CSS基础] class和id (07:28) 4-1 [Bootstrap4基础] 本章注意事项 (01:01) 4-2 [Bootstrap4基础] Bootstrap是什么? (03:34) 4-3 [Bootstrap4基础] Bootstrap安装 (07:59) 4-4 [Bootstrap4基础] 模仿一个导航栏 (13:15) 4-5 [Bootstrap4基础] 导航栏完成 (04:34) 4-6 [Bootstrap4基础] 关于页面布局 (15:52) 5-1 [Flask和HTML Templates] 环境的准备 (05:10) 5-2 [Flask和HTML Templates] 到底什么是模板 (08:16) 5-3 [Flask和HTML Templates] 在模板中使用条件和循环 (06:19) 5-4 [Flask和HTML Templates] 我们的第一个页面 (05:42) 5-5 [Flask和HTML Templates] 模板的继承 (03:14) 6-1 [Flask和Forms] 先重构下项目结构 (10:54) 6-2 [Flask和Forms] 添加登录html页面 (09:28) 6-3 [Flask和Forms] 创建用户登录表单Flask Form (06:13) 6-4 [Flask和Forms] 根据Flask Form修改login.html (10:53) 6-5 [Flask和Forms] 使用POST接收Login Form的用户输入 (07:52) 6-6 [Flask和Forms] 灵活使用url_for (06:11) 7-1 [Flask和Database] SQLAlchemy介绍和准备 (06:31) 7-2 [Flask和Database] User表的设计 (08:19) 7-3 [Flask和Database] SQLAlchemy的配置和Model的编写 (10:33) 7-4 [Flask和Database] 第一次数据库的Migration (18:16) 7-5 [Flask和Database] (选看)MySQL演示Migration (09:08) 7-6 [Flask和Database] 创建一张关系表 (11:20) 7-7 [Flask和Database] 把配置单独拿出来 (10:34) 7-8 [Flask和Database] 通过命令行操作数据库 (11:31) 7-9 [Flask和Database] 本章结尾工作 (01:46) 8-1 [用户Login登录的设计和实现] 代码准备 (52) 8-2 [用户Login登录的设计和实现] 通过hash保护密码 (07:01) 8-3 [用户Login登录的设计和实现] 用户login的验证 (09:25) 8-4 [用户Login登录的设计和实现] Flask-Login模块的介绍和使用 (12:45) 8-5 [用户Login登录的设计和实现] 用户的logout登出 (06:09) 8-6 [用户Login登录的设计和实现] 强制用户登录 (06:06) 8-7 [用户Login登录的设计和实现] 显示已登录用户信息 (03:19) 8-8 [用户Login登录的设计和实现] 本章收尾 (27) 9-1 [用户注册的设计和实现] 代码准备 (35) 9-2 [用户注册的设计和实现] 注册HTML页面的设计 (04:26) 9-3 [用户注册的设计和实现] 注册表单Form (06:18) 9-4 [用户注册的设计和实现] HTML模板的修改和用户的存储 (06:34) 9-5 [用户注册的设计和实现] 本章收尾 (54) 10-1 [个人用户页面的设计和实现] 代码准备 (01:10) 10-2 [个人用户页面的设计和实现] 个人页的简单实现 (10:56) 10-3 [个人用户页面的设计和实现] 做一个友好的404页面 (03:39) 10-4 [个人用户页面的设计和实现] 个人profile页面的入口 (01:48) 10-5 [个人用户页面的设计和实现] 设置头像 (07:07) 10-6 [个人用户页面的设计和实现] 头像的动态生成 (06:35) 10-7 [个人用户页面的设计和实现] 个人页面增加内容 (09:56) 10-8 [个人用户页面的设计和实现] 个人页面的编辑和保存 (14:03) 10-9 [个人用户页面的设计和实现] 代码完善 (03:54) 11-1 [用户关注和被关注的设计和实现] 代码准备 (01:52) 11-2 [用户关注和被关注的设计和实现] 多对多的关系表 (06:41) 11-3 [用户关注和被关注的设计和实现] 关注和被关注的命令行演示 (08:06) 11-4 [用户关注和被关注的设计和实现] 关注和取消关注的页面实现 (05:30) 11-5 [用户关注和被关注的设计和实现] 关注和取消关注的后台实现 (07:12) 11-6 [用户关注和被关注的设计和实现] 显示关注的统计信息 (04:04) 12-1 [用户推文的发布和显示] 个人用户界面上的推文显示 (14:12) 12-2 [用户推文的发布和显示] index主页上推文的显示 (06:19) 12-3 [用户推文的发布和显示] SubTemplate子模板的用法 (11:14) 12-4 [用户推文的发布和显示] 用户发表推文的实现 (10:55) 12-5 [用户推文的发布和显示] 分页显示的实现 (15:43) 12-6 [用户推文的发布和显示] 个人profile页面的分页 (02:29) 13-1 [密码重置功能] 代码准备和介绍 (02:58) 13-2 [密码重置功能] 重置密码请求的页面实现 (06:03) 13-3 [密码重置功能] Flask-mail发送邮件功能 (07:10) 13-4 [密码重置功能] JWT(JSON Web Token)的使用 (06:13) 13-5 [密码重置功能] 验证token和密码重置 (05:08) 13-6 [密码重置功能] 代码完善 (02:57) 14-1 [页面美化] 代码准备和重构 (04:23) 14-2 [页面美化] 美化导航栏 (05:57) 14-3 [页面美化] 美化Login页面 (01:13) 14-4 [页面美化] 注册和重置密码页面美化 (02:11) 14-5 [页面美化] 其他页面的美化 (04:18) 15-1 [几点功能改进] Explore功能的实现 (02:48) 15-2 [几点功能改进] 用户的邮箱激活 (07:42) 16-1 [项目的线上部署] 准备一台云主机和域名(一) (09:36) 16-2 [项目的线上部署] 准备一台云主机和域名(二) (03:39) 16-3 [项目的线上部署] 准备Docker环境 (04:09) 16-4 [项目的线上部署] 关于gunicorn的用法 (03:54) 16-5 [项目的线上部署] 准备数据库 (01:57) 16-6 [项目的线上部署] docker-compose部署web和nginx (04:46)





