Издание на web-фреймворка Django 3.0

Състоя се релиз на 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“. Към такъв код спадат, например, операции с релационни бази данни (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 е прекратена.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster