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 |