(二十)把同一需求对应到三个框架
1. 共同需要保留的业务行为
无论使用哪个框架,这个书架仍然需要:解析输入,执行字段规则,确认当前用户与记录归属,处理数据库事务,再生成页面或 JSON。框架能组织重复流程,书籍是否可重复、哪个用户可以修改,仍由应用需求决定。
| 现有职责 | FastAPI | Flask | Django |
|---|---|---|---|
| 方法、路径与参数 | 路由函数与参数声明 | 路由与视图函数 | URL 分发与视图 |
| 运行时字段校验 | Pydantic 模型 | 在视图、表单工具或模型中组织校验 | Form、ModelForm 等 |
| 页面输出 | 可连接模板工具 | 集成 Jinja 模板 | 模板系统 |
| 数据库与事务 | 连接选用的数据层 | 连接选用的数据层 | ORM、事务与迁移 |
| 用户与后台 | 组合认证与权限逻辑 | 组合相应工具与扩展 | 集成用户、权限与管理后台 |
| 服务器接口 | ASGI | WSGI | WSGI 或 ASGI |
FastAPI 的模型、依赖组织与 OpenAPI 文档适合继续扩展这里的 JSON 接口;Flask 可以接着围绕视图与模板构建页面;Django 则把模型、账户和后台接到同一套项目组织中。这里按书架的任务安排学习方向,后面三章会分别做出相同业务的具体实现。FastAPI 功能、Flask 设计、Django 项目组成