Меня часто спрашивают: Django или FastAPI? Я работал с обоими на продакшене и дам конкретный ответ.

Django — это фреймворк для тех, кто хочет запустить продукт, а не писать инфраструктуру. ORM, админка, аутентификация, формы, миграции — всё из коробки. Мои проекты (мои проекты) построены на Django, потому что мне нужен результат, а не код ради кода.

FastAPI отличен для микросервисов и чистых API. Автодокументация через Swagger, async из коробки, типизация через Pydantic. Но для полноценного веб-приложения вам придётся собирать всё самому: ORM (SQLAlchemy), миграции (Alembic), админку, аутентификацию.

FastAPI быстрее в бенчмарках? Да, в 2-3 раза для async-эндпоинтов. Но в реальности 95% задержки — это база данных и внешние API, а не фреймворк. Django с правильным кешированием обрабатывает тысячи запросов в секунду.
| Критерий | Django | FastAPI |
|---|---|---|
| Скорость разработки | ⭐ | Хорошо |
| Производительность | Хорошо | ⭐ |
| Экосистема | ⭐ | Растёт |
| Полнота фреймворка | ⭐ | Минимум |
Выбирайте Django для продуктов, FastAPI для микросервисов. А если не можете решить — напишите мне, помогу.
Проект 1: Аукцион (art-auc.ru) — Django. Почему: нужна админка для управления лотами, система аутентификации, шаблоны для SSR (SEO важен), WebSocket через Channels, Celery для фоновых задач. Всё из коробки. Попытка собрать это на FastAPI заняла бы в 3 раза больше времени.
Проект 2: API для мобильного приложения — FastAPI. Почему: чистый REST API, 50+ эндпоинтов, async запросы к внешним сервисам, автодокументация через Swagger критична для мобильной команды. Django REST Framework мог бы справиться, но FastAPI дал лучший DX (Developer Experience).
Проект 3: B2B рейтинговая платформа (gidrate.ru) — Django. Почему: сложная бизнес-логика, система ролей, модерация контента, полнотекстовый поиск. Django ORM + PostgreSQL — идеальная связка для data-heavy приложений.
Миф: «FastAPI в 10 раз быстрее Django». Реальность: в синтетических бенчмарках — да. В реальных приложениях — разница 10-30%, потому что bottleneck — это база данных, а не фреймворк.
Миф: «Django не умеет async». Реальность: Django 5.0+ поддерживает async views. Django Channels — полноценный async для WebSocket. Не так элегантно, как FastAPI, но работает.
Миф: «FastAPI проще Django». Реальность: FastAPI проще для hello world. Но для реального проекта вам нужно: ORM (SQLAlchemy — сложнее Django ORM), миграции (Alembic), валидация (Pydantic — хорош, но больше кода), аутентификация (самопис). В итоге — больше кода и больше настройки.