Код
#новости

Состоялся релиз веб-фреймворка Django 5.0

Теперь фреймворк поддерживает работу с Python 3.10, 3.11 и 3.12.

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

Что нового в Django

Версии Python 3.8 и 3.9 больше не поддерживаются. Это важно учитывать при переходе на новую версию фреймворка. Если другие зависимости пока ещё не умеют работать с версией Python 3.10 и выше, то следует воспользоваться альтернативами или на время отказаться от обновления. Кроме того, важно отметить, что Django 4.2 будет доступен в режиме долгосрочной поддержки (Long term support, LTS) до 2026 года.

График поддерживаемых и будущих версий Django
Инфографика: Django

В обновлении добавили поддержку функции GeneratedField, предназначенной для генерации данных в полях баз данных. С её помощью можно использовать уже имеющиеся параметры для создания на их основе новых. К примеру, если известны даты начала и конца отпуска, то можно автоматически заполнить поле с продолжительностью. Полученные данные можно использовать на всех серверах, где доступна база данных.

class Booking (models.Model):
    start_date = models.DateField()
    end_date = models.DateField()
    duration = models.GeneratedField(
        expression=F("end_date")-F("start_date"),
        output_field=models.DurationField(), 
        db_persist=True,
)

Кроме того, появился параметр Field.db_default, позволяющий использовать в базах данных значение по умолчанию. Примечательно, что тикет с просьбой добавить такую возможность в Django создали 18 лет назад, но команда разработчиков сделала это только сейчас.

from django.db import models
from django.db.models.functions import Now, Pi

class MyModel(models.Model):
    age = models.IntegerField(db_default=18)
    created = models.DateTimeField(db_default=Now())
    circumference = models.FloatField(db_default=2 * Pi())

В Django 5.0 добавили дополнительные асинхронные методы как для Client, так и для AsyncClient. С их помощью можно реализовывать асинхронное тестирование приложений. Также появилась поддержка концепции групп полей и шаблонов групп полей. Это необходимо для оптимизации рендеринга компонентов на веб-странице, связанных с полями формы Django.

Как установить

У веб-фреймворка Django открытый код, распространяемый по лицензии BSD. Актуальную версию можно скачать на сайте проекта. Кроме того, можно установить фреймворк с помощью пакетного менеджера PyPI и локального клонирования репозитория:

  • pip install Django==5.0;
  • git clone https://github.com/django/django.git.

Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!

Онлайн-школа для детей Skillbox Kids
Учим детей программированию, созданию игр, сайтов и дизайну. Первое занятие бесплатно! Подробности — по клику.
Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована