Добавить в корзинуПозвонить
Найти в Дзене
Цифровая Переплавка

Django 6.0: фреймворк, который взрослеет вместе с Python и вебом

Django 6.0 вышел 3 декабря 2025 года — и это не тот случай, когда релиз можно пропустить, надеясь, что «ничего особо не поменялось». Наоборот: Django уверенно двигается в сторону более безопасного, современного и структурированного мира Python, где асинхронность, CSP и фоновые задачи уже не «допы», а ожидаемая часть фреймворка. Этот релиз ощущается как шаг к более зрелой платформе, которая переосмысливает старые решения и закрывает многолетние долги. 🛡 Django получил встроенный CSP — и это гигантский плюс для безопасности Content Security Policy раньше приходилось прикручивать вручную или через сторонние приложения. Теперь в Django есть полноценно встроенный движок CSP: 🧱 ContentSecurityPolicyMiddleware — добавляет CSP в заголовки. 🔑 nonce-поддержка через csp() — критично для защиты от XSS. ⚙️ SECURE_CSP и SECURE_CSP_REPORT_ONLY — компактные словари, удобные как настройки. Пример: SECURE_CSP = {
"default-src": [CSP.SELF],
"script-src": [CSP.SELF, CSP.NONCE],
"img-src":
Оглавление

Django 6.0 вышел 3 декабря 2025 года — и это не тот случай, когда релиз можно пропустить, надеясь, что «ничего особо не поменялось». Наоборот: Django уверенно двигается в сторону более безопасного, современного и структурированного мира Python, где асинхронность, CSP и фоновые задачи уже не «допы», а ожидаемая часть фреймворка.

Этот релиз ощущается как шаг к более зрелой платформе, которая переосмысливает старые решения и закрывает многолетние долги.

🛡 Django получил встроенный CSP — и это гигантский плюс для безопасности

Content Security Policy раньше приходилось прикручивать вручную или через сторонние приложения. Теперь в Django есть полноценно встроенный движок CSP:

  • 🧱 ContentSecurityPolicyMiddleware — добавляет CSP в заголовки.
  • 🔑 nonce-поддержка через csp() — критично для защиты от XSS.
  • ⚙️ SECURE_CSP и SECURE_CSP_REPORT_ONLY — компактные словари, удобные как настройки.

Пример:

SECURE_CSP = {
"default-src": [CSP.SELF],
"script-src": [CSP.SELF, CSP.NONCE],
"img-src": [CSP.SELF, "https:"],
}

Теперь можно объявлять политику в стиле Python, а Django сам соберёт правильный заголовок:

default-src 'self'; script-src 'self' 'nonce-...'; img-src 'self' https:

Это повышает не только безопасность, но и прозрачность конфигурации — чувствуется аккуратная инженерная работа.

⚙️ Partials в шаблонах — мини-компоненты без оверхеда

Django Templates всегда были немного консервативны. В 6.0 они стали на шаг ближе к компонентному подходу:

  • 🧩 {% partialdef %} — определение фрагмента;
  • 🚀 {% partial %} — вызов фрагмента;
  • 🔗 template.html#fragment — доступ к partial через стандартные функции загрузки.

Это не полноценные компоненты как в Jinja2, HTMX или Vue, но правильное минималистичное решение для DRY, которому не хватает Django-шаблонам уже лет десять.

Теперь маленькие фрагменты не нужно выносить в отдельные файлы.
Просто оформляешь partial — и используешь как мини-функцию.

🔄 Встроенные фоновые задачи — Django наконец делает это нативно

Вот что удивляет: Django долго игнорировал фоновые задачи, отдавая эту роль Celery. В Django 6.0 появился встроенный Task Framework:

  • 🏷️ @task — декоратор для объявления задач;
  • 📬 .enqueue() — отправка в очередь;
  • 📦 TASKS — конфигурация бэкенда;
  • 🧰 два встроенных простых backend’а — для разработки и тестов.

Пример:

@task
def email_users(emails, subject, message):
return send_mail(subject, message, None, emails)

email_users.enqueue(
emails=["user@example.com"],
subject="Привет!",
message="У вас новое сообщение",
)

⚠️ Но важный момент: Django не запускает воркеры сам, что честно отражено в релизе.
Нужны внешние процессы — системный сервис, Celery-like работник или ваш собственный runner.

И это отличное архитектурное решение:

  • Django обеспечивает контракт и стандартизацию API,
  • инфраструктуру выполнения можно выбирать самому.

✉️ Новый e-mail API — меньше боли, больше Pythonic

Python давно обновил свой email API, но Django оставался в прошлом.
В 6.0 он догнал стандарт:

  • теперь используется email.message.EmailMessage;
  • улучшена Unicode-совместимость;
  • устаревшие MIME-классы — убраны;
  • attach() теперь принимает полноценный MIMEPart.

Это делает работу с письмами менее запутанной и снимает огромное количество edge-case'ов, связанных с кодировками.

🧱 Чистка наследия: Python < 3.12, MariaDB 10.5, мелкие устаревшие фичи

Django решительно сбрасывает балласт:

  • поддержка Python 3.10 и 3.11 удалена
  • MariaDB 10.5 — больше не поддерживается
  • ⚙️ DEFAULT_AUTO_FIELD теперь по умолчанию BigAutoField
  • смена старых API ORM и email
  • новые требования к кастомным expressions (возвращать tuple)

Это болезненный, но необходимый шаг — постепенная эволюция платформы требует перемен. Устаревшие зависимости тормозят развитие фреймворка.

✨ Маленькие изменения, которые приятно чувствовать в работе

Такие релизы раскрываются в деталях:

  • 🧭 Font Awesome 6.7 в админке — визуально свежее;
  • 🔐 PBKDF2 теперь использует 1 200 000 итераций — выше безопасность;
  • 🗺️ GIS теперь умеет Rotate и проверку M-измерения;
  • 📚 Lexeme в PostgreSQL FTS — намного удобнее работать с поисковыми термами;
  • 🌀 AsyncPaginator — привет, асинхронные API!
  • 🧮 StringAgg и AnyValue стали кросс-бэкендовыми;
  • 🗄 collectstatic теперь чище и менее «шумный».

Это те мелочи, которые делают Django современным фреймворком, а не реликтом эпохи Python 2.

🧭 Мой взгляд: Django 6.0 — это тихая революция

Этот релиз не выглядит громким — нет «нового ORM» или «революционной async-модели».
Но его влияние на экосистему огромно.

Почему Django 6.0 важен:

  • 🧱 CSP — шаг в сторону встроенной безопасности уровня фреймворка.
  • 🧩 Partials — долгожданная эволюция шаблонов.
  • 🔄 Tasks — фактическое начало встроенной поддержки фоновых процессов.
  • 📨 Новый e-mail API — упрощение кода и стабильность.
  • 🐍 Ориентация на Python 3.12+ — современный язык, меньше костылей.

Django словно избавляется от старых ограничений и готовит почву для следующего этапа — более асинхронного, более типизированного, более безопасного и более структурного веб-фреймворка.

Это релиз, который не кричит — но меняет будущее.

🔗 Источники