背景定位
已掌握:Python、HTTP 協議、HTML、Linux、Socket、算法。
缺失:Web 框架概念、模板引擎、前端框架、部署運維、數據庫 ORM、RESTful API 設計。
Flask 學習最短路徑(2-3 週入門)
第 1 週:Flask 核心 + 模板 + 路由
- 官方教程:Flask Tutorial (建立微博應用) —— 必做,涵蓋藍圖、模板、表單、數據庫、測試、部署全流程。
- 理解核心概念:
app.route、request、render_template、redirect/url_for、flash、session。
- Jinja2 模板語法:變量、控制結構、繼承(
extends/block)、宏、過濾器。
第 2 週:數據庫 + 遷移 + REST API
- Flask-SQLAlchemy:模型定義、關係、查詢、遷移(Flask-Migrate/Alembic)。
- Flask-RESTful 或 Flask-Smorest:構建規範 REST API,輸出 OpenAPI 文檔。
- 認證授權:Flask-JWT-Extended / Flask-Login。
第 3 週:前端整合 + 部署 + 進階
- 前端:不必深學 Vue/React,先用 Jinja2 + Bootstrap 5 渲染頁面。如需 SPA,再學 Vue 3 + Vite 整合。
- 部署:Gunicorn + Nginx + Systemd(Linux),或 Docker 化部署。
- 進階:Celery 異步任務、Redis 緩存、日誌監控、單元/集成測試。
必讀資源清單
術語快速對照
- Jinja2:模板引擎,把 Python 變量渲染成 HTML。
- Bootstrap:CSS 框架,寫少量 class 即得美觀響應式頁面。
- Blueprint:Flask 模組化組件,大項目拆分路由/模板/靜態文件的標準方式。
- SQLAlchemy:ORM,用 Python 類操作數據庫,不用寫原生 SQL。
- Werkzeug:Flask 底層 WSGI 工具庫,處理請求/響應/路由匹配。
避坑指南
- 不要一開始就研究源碼,先會用、跑通流程。
- 虛擬環境(
venv/conda)全程開啟,依賴隔離。
- 配置管理:用
python-dotenv 讀取 .env,區分開發/生產配置。
- 數據庫遷移:從第一天就用
Flask-Migrate,別手建表。
總結
Flask 輕量、文檔好、生態豐富,非常適合有 Python 基礎、無 Web 經驗的開發者快速上手。按「官方教程 → 書籍實戰 → 自己改造小項目」三步走,2-3 週即可獨立開發部署完整 Web 應用。