HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
1 <p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
2 <p>Разработчики веб-фреймворка Django<a>сообщили</a>о релизе версии 5.0. С момента выхода прошлой версии прошло два года, поэтому у команды было много времени на добавление новых функций. Рассказываем об основных изменениях в Django.</p>
2 <p>Разработчики веб-фреймворка Django<a>сообщили</a>о релизе версии 5.0. С момента выхода прошлой версии прошло два года, поэтому у команды было много времени на добавление новых функций. Рассказываем об основных изменениях в Django.</p>
3 <p>Версии Python 3.8 и 3.9 больше не поддерживаются. Это важно учитывать при переходе на новую версию фреймворка. Если другие зависимости пока ещё не умеют работать с версией Python 3.10 и выше, то следует воспользоваться альтернативами или на время отказаться от обновления. Кроме того, важно отметить, что Django 4.2 будет доступен в режиме долгосрочной поддержки (Long term support, LTS) до 2026 года.</p>
3 <p>Версии Python 3.8 и 3.9 больше не поддерживаются. Это важно учитывать при переходе на новую версию фреймворка. Если другие зависимости пока ещё не умеют работать с версией Python 3.10 и выше, то следует воспользоваться альтернативами или на время отказаться от обновления. Кроме того, важно отметить, что Django 4.2 будет доступен в режиме долгосрочной поддержки (Long term support, LTS) до 2026 года.</p>
4 График поддерживаемых и будущих версий Django<em>Инфографика:<a>Django</a></em><p>В обновлении добавили поддержку функции GeneratedField, предназначенной для генерации данных в полях баз данных. С её помощью можно использовать уже имеющиеся параметры для создания на их основе новых. К примеру, если известны даты начала и конца отпуска, то можно автоматически заполнить поле с продолжительностью. Полученные данные можно использовать на всех серверах, где доступна база данных.</p>
4 График поддерживаемых и будущих версий Django<em>Инфографика:<a>Django</a></em><p>В обновлении добавили поддержку функции GeneratedField, предназначенной для генерации данных в полях баз данных. С её помощью можно использовать уже имеющиеся параметры для создания на их основе новых. К примеру, если известны даты начала и конца отпуска, то можно автоматически заполнить поле с продолжительностью. Полученные данные можно использовать на всех серверах, где доступна база данных.</p>
5 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, )<p>Кроме того, появился параметр Field.db_default, позволяющий использовать в базах данных значение по умолчанию. Примечательно, что тикет с просьбой добавить такую возможность в Django создали 18 лет назад, но команда разработчиков сделала это только сейчас.</p>
5 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, )<p>Кроме того, появился параметр Field.db_default, позволяющий использовать в базах данных значение по умолчанию. Примечательно, что тикет с просьбой добавить такую возможность в Django создали 18 лет назад, но команда разработчиков сделала это только сейчас.</p>
6 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())<p>В Django 5.0 добавили дополнительные асинхронные методы как для Client, так и для AsyncClient. С их помощью можно реализовывать асинхронное тестирование приложений. Также появилась поддержка концепции групп полей и шаблонов групп полей. Это необходимо для оптимизации рендеринга компонентов на веб-странице, связанных с полями формы Django.</p>
6 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())<p>В Django 5.0 добавили дополнительные асинхронные методы как для Client, так и для AsyncClient. С их помощью можно реализовывать асинхронное тестирование приложений. Также появилась поддержка концепции групп полей и шаблонов групп полей. Это необходимо для оптимизации рендеринга компонентов на веб-странице, связанных с полями формы Django.</p>
7 <p>У веб-фреймворка Django открытый код, распространяемый по лицензии BSD. Актуальную версию можно скачать на <a>сайте проекта</a>. Кроме того, можно установить фреймворк с помощью пакетного менеджера PyPI и локального клонирования репозитория:</p>
7 <p>У веб-фреймворка Django открытый код, распространяемый по лицензии BSD. Актуальную версию можно скачать на <a>сайте проекта</a>. Кроме того, можно установить фреймворк с помощью пакетного менеджера PyPI и локального клонирования репозитория:</p>
8 <ul><li>pip install Django==5.0;</li>
8 <ul><li>pip install Django==5.0;</li>
9 <li>git clone https://github.com/django/django.git.</li>
9 <li>git clone https://github.com/django/django.git.</li>
10 </ul><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
10 </ul><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>