Choosing a framework
Three frameworks, three philosophies
You've now felt all three. Time for the honest comparison โ not "which is best" (there isn't one), but which trade-off fits which job.
| | Flask | Django | FastAPI |
|---|---|---|---|
| Philosophy | Micro โ you wire everything | Batteries included โ its way or the highway | Typed โ the schema IS the contract |
| Routing | Hand-written, one file | urls.py + views, project structure enforced | Decorator routing, typed parameters |
| Validation | You write every if | ModelForm, from the model's fields | Pydantic models, automatic |
| Auth | You build it | User, sessions, cookies โ free | You build it (tokens, typically) |
| Admin UI | None | Free, generated from models | None |
| Docs | None | None | Free, generated from type hints (/docs) |
| Async | No | Limited | Yes, native |
| Best fit | Small APIs, full control | Content sites, internal tools, fast CRUD+admin | Typed APIs serving multiple clients |