缺什么补什么:别拿模板当框架

这门资料解决的核心痛点是:很多转岗或自学者学过一点 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)