Flask 从零到精通学习计划
> 学习模式:我们一节一节推进,每完成一节,你回复**下一步**,我再开启下一章。
> 前置基础:你需要懂 Python 基础(变量、函数、类、模块、pip),不懂我们可以先补 Python。
> 环境推荐:Mac / Windows / Linux,Python3.8+
## 📚 整体大纲(全部阶段预览)
### 阶段1:Flask 入门基础(搭建环境 + 最小项目)
1. 安装 Python、虚拟环境、pip
2. 安装 Flask,写第一个 HelloWorld 程序,运行调试
3. 路由、URL 传参、HTTP 请求方法 GET/POST
4. 返回 HTML、模板引擎 Jinja2 基础
5. 静态文件:css/js/img 加载
6. 模板继承、for/if 模板语法
### 阶段2:表单与请求处理(接收前端数据)
7. request 对象:获取参数、表单、上传文件
8. flash 消息提示
9. WTForms 表单校验(防重复提交、数据验证)
10. Cookie 和 Session 原理与使用
### 阶段3:数据库(SQLAlchemy ORM)
11. Flask-SQLAlchemy 安装,连接 SQLite/MySQL
12. 模型定义、增删改查 CRUD
13. 表关系:一对多、多对多
14. 数据库迁移 Flask-Migrate
15. 分页、条件查询
### 阶段4:用户登录认证系统(重点实战项目)
16. Flask-Login 实现登录态管理
17. 密码加密 bcrypt,禁止明文存储密码
18. 权限控制:登录拦截、角色权限(普通用户/管理员)
19. 注册、登录、退出、忘记密码简单流程
### 阶段5:Flask 进阶特性
20. 蓝图 Blueprint:项目模块化拆分(大型项目必备)
21. 配置文件管理 .env 环境变量(区分开发/生产)
22. 错误页面定制 404/500
23. 日志、全局钩子 before_request
24. RESTful API 开发,返回 JSON
### 阶段6:实战项目开发
25. 项目结构规范(企业级目录)
26. 实战1:简易博客系统(用户、文章、评论)
27. 实战2:前后端分离API项目(提供接口给uniapp/vue)
### 阶段7:部署与性能优化
28. Gunicorn + Nginx 部署 Flask
29. 静态资源优化
30. Redis 缓存、限流
31. 项目安全:CSRF防护、SQL注入、XSS防护
32. Docker 打包 Flask 项目
---
# 第1课【当前开始】:环境准备 + 虚拟环境
## 1.1 什么是虚拟环境?
虚拟环境可以给**每个项目单独隔离依赖包**,避免不同项目包版本冲突,是 Python 开发必备习惯。
### 操作步骤
1. 确认本地 Python 版本,打开终端
```bash
python --version
# Mac 可能需要用 python3 --version
```
> 要求 Python ≥3.8
2. 创建项目文件夹,进入文件夹
```bash
mkdir flask-demo
cd flask-demo
```
3. 创建虚拟环境
```bash
# Windows
python -m venv venv
# Mac / Linux
python3 -m venv venv
```
4. 激活虚拟环境
```bash
# Windows cmd
venv\Scripts\activate
# Windows PowerShell
venv\Scripts\Activate.ps1
# Mac / Linux
source venv/bin/activate
```
✅ 激活成功:终端前面会出现 `(venv)` 标识
5. 在虚拟环境安装 flask
```bash
pip install flask
```
6. 验证是否安装成功
```bash
pip show flask
```
## 1.2 写第一个 Flask 程序
新建文件 `app.py`
```python
# 导入Flask类
from flask import Flask
# 创建Flask实例,__name__代表当前模块
app = Flask(__name__)
# 路由:访问根路径 /,执行下面函数
@app.route('/')
def index():
return "Hello Flask! 我的第一个网页"
# 程序入口
if __name__ == '__main__':
# 开启调试模式 debug=True,代码修改自动重启服务
app.run(debug=True)
```
## 1.3 运行项目
终端执行
```bash
python app.py
```
打开浏览器访问:`[
> 看到文字:Hello Flask! 我的第一个网页,就成功了
### 知识点小结
- `Flask(__name__)` 初始化web应用
- `@app.route('/')` 路由装饰器,绑定URL和函数
- `app.run()` 启动内置开发服务器(仅开发用,生产不能用)
- `debug=True`:代码改动自动重载;报错页面会展示详细错误信息
---
✅ 第一课完成。
你可以先动手把上面代码跑起来,遇到问题直接提问。
准备好后回复 **下一步**,我们学习【路由与URL传参】。
文章回复
0 条公开回复