Веб-фреймворк Python Django 3.0. Что нового?

Есть довольно много причин, по которым язык программирования Python весьма известен. Его любят крупные предприятия, разработчики и ученые во всем мире. Если взять корпоративную разработку, машинное обучение или еще что-нибудь вроде этого, то везде окажется множество приложений на Python. Этот язык привлекает пользователей гибкостью, простотой понимания, несложной реализацией и обилием библиотек, а также своими фреймворками, которые сразу же полюбились разработчикам.

Наш любимый Python

Открытый исходный код — величайшее достоинство Python, а также причина, по которой сообщество этого языка так велико. Cвой вклад в повышение популярности Python вносят разработчики, исследователи и множество других людей. Они же помогают развивать Python Django.

Python определенно прошел большой путь с тех пор, как Гвидо Ван Россум впервые его представил в 1990-х годах. В процессе своего развития он претерпел значительные изменения. Были исправлены имевшиеся ошибки, а кроме того внесены коррективы в сам язык. Эти перемены обеспечили разработчикам более высокую производительность и гибкость любимого инструмента.

В начале 2019 года Python был признан самым используемым языком программирования в мире. В этой номинации он обогнал Java и JavaScript. Это произошло благодаря широчайшему применению языка Python в различных сложных технологиях вроде машинного обучения.

Django 3.0

Была еще одна причина, по которой Python попал в заголовки газет. В марте 2019 года Гвидо Ван Россум ясно дал понять, что Python Software Foundation больше не будет выпускать какие-либо обновления безопасности для данной версии языка. И в конце прошлого года Python 2 официально ушел на пенсию.

Необходимость экстренного перехода на Python 3 до конца года повергла многие организации в панику. Но у компаний, перешедших на новую версию, был повод для радости: выход совершенно новой версии Django.

Итак, есть новая версия Django 3.0, наделавшая много шума благодаря исправлению ошибок и некоторым замечательным новым функциям.

Разработчики, знакомые с этим фреймворком, знают, что Django — это основанный на Python опенсорсный веб-фреймворк для серверных веб-приложений. С момента своего выхода в 2005 году Django привлек внимание многих людей, а также некоторых известных организаций. Среди них — NASA, Instagram, Spotify, Pinterest и Mozilla.

Согласно недавнему ежегодному опросу разработчиков Stack Overflow, Django занял шестую позицию в списке самых популярных веб-фреймворков. В опросе приняли участие 90 000 разработчиков. Из них 62,1% проголосовали за Django, предпочтя его всем остальным веб-фреймворкам.

Что в нем нового?

Поскольку фреймворк Django 3 уже стал фаворитом у разработчиков, давайте рассмотрим все новые функции, которые мы получили с его выходом.

Поддержка MariaDB

MariaDB — одна из самых популярных баз данных, написанная создателями MySQL. Ее популярность связана с тем, что это полноценная замена SQL, помогающая превращать данные в структурированную информацию для широкого круга приложений. Django 3.0 поддерживает MariaDB версии 10.2 или выше.

Возможность работы с Python Async

Python Async позволяет программам, особенно сетевым приложениям, работать плавно и эффективно. Но с async связана одна проблема: для его использования приложения должны быть соответствующим образом переписаны. Поскольку Django 3.0 работает только с Python 3.6 и более поздними версиями, разработчикам будет гораздо проще работать с функциями асинхронного программирования.

Возможности асинхронного программирования в Django представлены в виде поддержки запуска приложений, отвечающих стандарту Asynchronous Server Gateway (ASGI, расширение стандарта WSGI). Благодаря этому Django предоставляет стандартный интерфейс между веб-серверами, приложениями и фреймворками Python с поддержкой async.

Пользовательские перечисления для Field.choices

В Django 3 стали доступными пользовательские перечисления для Field.choices. Новые типы перечислений включают Text Choices, Integer Choices и Choices. Хотя для соответствующих полей предусмотрены Text Choices и Integer Choices, класс Choices позволяет определить совместимое перечисление для других стандартных типов данных.

Упрощенные выражения

Еще одно замечательное обновление в Django 3.0 — это быстрый вывод BooleanField. В предыдущих версиях они сначала должны были быть аннотированы, а затем отфильтрованы по аннотации. А в Django 3.0 их можно напрямую использовать в запросах типа QuerySet.

PostgreSQL 9.5 и выше

Последняя версия Django поддерживает PostgreSQL версии 9.5 и выше. Новый класс ExclusionConstraint позволяет добавлять ограничения в PostgreSQL.

Другие новинки

Django 3.0 вышел со множеством новых функций, а некоторые старые функции были деприцированы.

  • Функции smart_text(), force_text() вместе с их производными, такими как smart_str() и force_srt(), были деприцированы в новой версии.
  • API-интерфейсы, более не использующиеся в Python 3, были удалены. К ним относятся API для совместимости с Python 2. Наряду с этим была удалена поддержка pywatchman ниже версии 1.2.0 и sqlparse ниже версии 0.2.2.
  • В Django 3.0 больше не поддерживаются многие приложения. К ним относятся Oracle 12.4, PostgreSQL 9.4, PostGIS 2.1, SpatiaLite 4.1 и 4.2, а также GDAL 1.11 и GEOS 3.4.
  • В django.contrib.admin добавлена ​​поддержка атрибутов admin_order_field, которые находятся в ModelAdmin.list_display.
  • Библиотека JQuery обновлена с версии 3.3.1 до 3.4.1.

Выводы

С появлением последнего обновления Django продолжает сохранять свою актуальность. Как и любой другой фреймворк, он находится в процессе эволюции. Устаревшие функции удаляются, им на смену приходят новые, которые можно использовать в будущих приложениях.

Текущая версия Django 3.0 поддерживает только Python 3.6 и старше.

Таким образом, если вы все еще сидите на Python 2, релиз Django 3.0 дает вам еще один стимул перейти на Python 3 и тем самым ускорить разработку ваших приложений.

python logo

Английский для программистов

Наш телеграм канал с тестами по английскому языку для программистов. Английский это часть карьеры программиста. Поэтому полезно заняться им уже сейчас

×