Flask 是目前最流行的 Python 轻量级 Web 框架,核心极其小巧,提供路由、请求/响应处理、模板渲染等基本能力,所有“额外”的功能都通过扩展来添加。
轻量级微框架
- Flask 本身只包含一个微内核(Werkzeug WSGI 工具集 + Jinja2 模板引擎),没有内置数据库抽象层、表单验证、用户认证等功能。
- 这种“微”设计意味着:你不会被框架强制带上任何你用不上的东西,项目结构完全由你自己决定,特别适合中小型 API、原型开发,或者团队希望完全掌控技术选型的场景。
灵活扩展
- 需要数据库时就装
Flask-SQLAlchemy,需要表单验证就装Flask-WTF,需要用户登录就装Flask-Login,需要迁移数据库就装Flask-Migrate…… - 每一个扩展都是独立的 Python 包,按需安装,按需配置,保持应用轻巧。你完全可以把 Flask 从一个简单的 Hello World 逐步扩展成一个功能完善的生产级应用。
蓝图(Blueprint)
- 当项目越来越大,把所有的路由、视图函数都写在一个文件里会难以维护。Flask 的蓝图功能允许你把应用拆成多个可复用的“模块”,每个蓝图可以有自己的路由、模板、静态文件。
- 比如你可以建
auth蓝图处理注册登录,api蓝图处理数据接口,blog蓝图处理博客前台页面,然后在主应用里把它们注册在一起。 - 蓝图还支持 URL 前缀,方便模块化管理(如
/auth/login、/api/users)。
插件生态
- Flask 的插件质量普遍很高,而且文档齐全、使用模式统一。
- 常用扩展包括:
Flask-SQLAlchemy:连接 MySQL / PostgreSQL / SQLiteFlask-Migrate:基于 Alembic 的数据库迁移Flask-Login:管理用户会话与登录状态Flask-WTF:表单生成与 CSRF 保护Flask-RESTful/Flask-RESTX:快速构建 REST APIFlask-Admin:自动生成后台管理界面- 几乎所有你需要的 Web 开发基础件,Flask 生态里都有现成且经过广泛验证的扩展可用。开发者更多是“组装”而非“发明”。
总的来说,Flask 是一种“你按自己的意愿成长”的框架:入门轻松,但能支撑严肃的企业级服务,只要你按照需求挑选适当的扩展并遵循项目结构规范。