Выпуск web-фреймворка Django 3.0

Материал из Викиновостей, свободного источника новостей

7 декабря 2019 года

Состоялся релиз web-фреймворка Django 3.0, написанного на языке Python и предназначенного для разработки веб-приложений. Ветка Django 3.0 отнесена к категории выпусков с обычным сроком поддержки и будет получать обновления до апреля 2021 года. LTS-ветка 2.22 будет поддерживаться до апреля 2022 года, а ветка 1.11 до апреля 2020 года. Поддержка ветки 2.1 прекращена.

Ключевые улучшения:

  • Предоставлена поддержка работы в асинхронном режиме с выполнением в форме ASGI-приложения. Программный интерфейс ASGI (Asynchronous Server Gateway Interface) разработан как замена WSGI, нацеленная на обеспечение взаимодействия серверов, фреймворков и приложений, поддерживающих работу в асинхронном режиме. Поддержка запуска с использованием WSGI сохранена, а связанный с асинхронным режимом код включаются только при запуске в окружениях на базе ASGI.

Для асинхронного режима реализован отдельный цикл обработки событий (event loop), в котором не допускается вызов кода, помеченного как "async unsafe". К такому коду отнесены, например, операции c СУБД (ORM), которые нельзя использовать в асинхронном контексте (в этом случае будет выводиться ошибка SynchronousOnlyOperation) и следует выносить в отдельный синхронный поток.

  • Добавлены специализированные перечисляемые типы TextChoices, IntegerChoices и Choices, которые можно использовать для определения текстовых и целочисленных полей в модели, например, при необходимости хранения в полях наборов читаемых меток, транслируемых в определённые признаки:

class YearInSchool(models.TextChoices):
FRESHMAN = 'FR', _('Freshman')
SOPHOMORE = 'SO', _('Sophomore')
JUNIOR = 'JR', _('Junior')
SENIOR = 'SR', _('Senior')
GRADUATE = 'GR', _('Graduate')

  • Добавлена возможность указания выражений, выводящих BooleanField напрямую в фильтрах QuerySet, без их предварительного аннотирования перед применением для фильтрации аннотаций.
  • Обеспечена официальная поддержка СУБД MariaDB 10.1 и более новых выпусков.
  • Для PostgreSQL реализован класс ExclusionConstraint для использования ограничений на базе выражения EXCLUDE;
  • Прекращена поддержка Python 3.5.

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Выпуск web-фреймворка Django 3.0», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.