🐍 Django 5 уже здесь — и это не просто апдейт, а взросление фреймворка + новости Django 6 и собственный AP
Если бы Django был человеком, то сейчас он бы уверенно стоял с кофе, подкатывал к микросервисам и улыбался новым разработчикам, которые спрашивают «а почему не FastAPI?».
Django давно перестал быть просто «классическим монстром MVC-эпохи». Он живёт, развивается, обрастает новыми асинхронными мышцами и в 2025-м выходит в таком виде, что хочется сказать:
Да, старик, ты держишь форму.
Давай разберёмся:
- что нового завезли в Django 5,
- какие фишки разработчики уже полюбили, а какие проклинают,
- как ставить его в 2025,
- стоит ли обновляться с 4.x,
- и почему «уходит эпоха sync-view» (но не до конца).
Садись, наливай — будет интересно.
🆕 Что нового в Django 5 — простым человеческим языком
Django 5 — это не революция, но Evolution++ Больше скорости, меньше боли, больше асинхронного будущего.
📌 Основные обновления:
Полная поддержка async middleware
WebSockets без танцев с Channels
Улучшенный QuerySet + explain()
Typed URL patterns
Новый ORM-caching слой
И да — теперь Django выглядит так, будто он посмотрел на FastAPI и сказал:
Ладно, пацаны, я тоже могу в async и риалтайм.
🔥 Фишка №1 — нормальный асинхрон
Django долго жил с синхронным сердцем. ASGI вроде как был, но через слой совместимости, боль и костыли.
В Django 5:
И это без aiohttp, без ASGI-прокладок, без костылей-черепах. Теперь middleware, views и ORM постепенно становятся async-friendly.
Это значит, что Django наконец можно использовать как высоконагруженный async API backend, а не только как «монолит с админкой».
🔥 Фишка №2 — новый ORM с caching-слоем
QuerySet теперь может работать с кэшем по-настоящему, а не через мемоизацию и внешние прослойки.
60 секунд → и Django не трогает базу, если данные не менялись.
Экономия на Postgres может быть как разница между 50 RPS и 300 RPS.
🔥 Фишка №3 — WebSockets нативно (а не через шаманство)
Без Django Channels. Без Redis. Без «танцы с бубном».
Фреймворк наконец-то догнал время. Реалтайм-чат? Мониторинг? Push-уведомления? Да хоть игра «морской бой».
🔥 Фишка №4 — typed URL patterns
Маленькое изменение, которое экономит нервы.
Если кто-то передаст post/hello, Django больше не молчит как бывшая — он ругнётся. Ошибки стали предсказуемыми → меньше дебага, меньше боли.
🧪 Установка Django 5 — без магии и шаманства
Создать проект:
Если нужна ASGI-версия с риалтаймом:
Формально — просто. По ощущениям — как поставить турбину на старую Subaru.
🔄 Обновление с Django 4.x
Можно ли обновляться? — Да. Но смотри где ступаешь.
🟢 Безболезненно:
- большинство views
- шаблоны и staticfiles
- ORM-логика
🟡 Нужно проверить:
- кастомные middleware
- Channels/Redis
- сторонние пакеты, не готовые к async
🔴 Больно будет:
- если проект держится на sync-ORM и monkey-patching
- если используешь много старых CBV + DRF magic
Совет: прогоняй проект через django-upgrade — он сам подсветит опасные участки.
Плюсы Django 5 💚
настоящая async-поддержка наконец-то не стыдно писать API
WebSockets встроены чаты на FastAPI» — теперь мем
ORM быстрее меньше запросов → меньше счета за базы
типизация маршрутов меньше багов в проде
сообщество живое больше пакетов, больше экспертов
Django снова в игре. Не как дед, а как дед, который делает подтягивания.
Минусы Django 5 ❤🩹
Честно, не обойдётся без ложки дегтя.
async ещё не идеален ORM всё ещё частично sync под капотом
часть библиотек не готова DRF и Celery живут своей жизнью
миграция старых проектов сложна монолиты обновляются медленно
монстр-фреймворк остаётся монстром FastAPI всё ещё проще для микросервисов
Django — это как V8-двигатель: мощный, надёжный, но любит горючку.
📰 Новости и планы Django Team на 2025–2026
- готовится ORM 2.0 (полностью async)
- появится встроенный event-loop monitor
- Django Admin переписывают на HTMX (быстрее и легче)
- обсуждают GraphQL-ядро в ядре фреймворка (!)
- будет больше официальных пакетов вместо сторонних
Django не умирает. Он эволюционирует. И делает это так тихо и уверенно, что FastAPI иногда нервно рифрешит страницу.
В Django 6 появляется встроенный фреймворк фоновых задач (django.tasks). Это не REST/GraphQL, а именно API для очередей задач, которое раньше требовало Celery/RQ.
- Декоратор @task превращает любую функцию в фоновую задачу
- Вызов .enqueue() кладёт её в очередь
- Пока в комплекте два «заглушечных» бэкенда (для dev/тестов), а worker-ов Django не запускает — их нужно поднимать внешне
Пример из документации:
Python
Настройки хранятся в словаре TASKS (аналог CELERY_*). Фича freeze-нулась 17 сентября 2025 г., так что попадёт в финальный релиз 3 декабря
.
2. Почему это важно
- Меньше зависимостей: для простых «отправь-письмо-позже» Celery больше не обязателен
- Единое «Django-шное» API: те же принципы «explicit is better», конфигурация через settings, команды manage.py
- Асинхронная совместимость: задачи можно вызывать как из синхронного, так и из асинхронного кода (внутренний обвязок — asgiref)
3. Что НЕ входит в «собственный API»
- Полноценный REST-фреймворк (DRF остаётся сторонним пакетом)
- Встроенный worker/брокер (Redis/Rabbit всё ещё нужны для продакшена)
- Периодические (cron-like) задачи — пока нет планировщика, как у Celery-Beat
4. Сроки
Alpha (feature-freeze) 17 сентября 2025
Beta 22 октября 2025
RC 1 19 ноября 2025
Final 3 декабря 2025
Django 6
5. Как попробовать уже сейчас
Добавьте в settings.py:
Запускаете внешний worker (пока придётся написать собственный скрипт-поллинг) или используйте django-tasks-runner из сторонних пакетов.
📚 Ссылки, чтобы копнуть глубже
🔗 Что нового в Django 5 — https://docs.djangoproject.com/en/5.0/releases/5.0/
🔗 Roadmap Django 6 — https://github.com/django/deps
🔗 Обсуждение API-ядра — https://github.com/django/django/discussions/
🔗 Документация — https://docs.djangoproject.com
Хочешь прям погрузиться? — ищи DEPs 15xx–17xx, там вся будущая архитектура.
🙌 Если статья была полезной
Буду рад лайку 💙 и комментарию — это помогает понять, стоит ли разобрать Django 6, новый API-DSL или сделать сравнение с FastAPI «лоб в лоб».
А ты — обновляешься или пока присматриваешься, как кот к новому роутеру? 😄