Представлен релиз web-фреймворка Django 2.1, написанного на языке Python и предназначенного для разработки веб-приложений. Ветка Django 2.1 отнесена к категории выпусков с обычным сроком поддержки и будет получать обновления до декабря 2019 года. LTS-ветка 1.11 будет поддерживаться до апреля 2020 года.
Поддержка ветки 2.0 продлится до апреля 2019 года. Следующим LTS-выпуском станет релиз 2.2.
Ключевые улучшения:
- В Meta.default_permissions для моделей представлено новое полномочие "view", автоматически создаваемое при запуске миграции (django-admin migrate). Полномочие "view" позволяет предоставить пользователям только доступ на чтение к моделям в интерфейсе администратора. Для проверки наличия нового полномочия предложена функция ModelAdmin.has_view_permission().
- Внесена большая порция небольших улучшений в интерфейс администратора (модуль django.contrib.admin). Предоставлена возможность переопределения сайта администратора и замены базовых шаблонов. Библиотека jQuery обновлена до версии 3.3.1.
Добавлены методы ModelAdmin.get_deleted_objects() и ModelAdmin.delete_queryset() для настройки процесса удаления. Добавлен атрибут и ModelAdmin.sortable_by и метод ModelAdmin.get_sortable_by() для управления сорктировкой содержимого отдельных столбцов. Для действий в интерфейсе администратора теперь могут задаваться полномочия, ограничивающие доступность функций для определённых пользователей;
- Бэкенд для кэширования в памяти переведён на применение стратегии
LRU (least-recently-used) для вытеснения в порядке давности обращения к записям. В API доступа к кэшу добавлен метод touch() для обновления времени обращения к записи;
- Добавлена функция get_supported_language_variant() для получения информации о поддерживаемых языках при локализации;
- Для шаблонов представлен новый фильтр json_script для безопасного вывода объектов Python в формате JSON, готовом для использования в коде на JavaScript;
- Добавлена настройка CSRF_COOKIE_SAMESITE для установки флага SameSite в CSRF cookies;
- В команду inspectdb добавлена опция "--include-views", позволяющая создать модели для представлений БД;
- В средства миграции добавлена поддержка сериализации объектов functools.partialmethod и загрузки миграций из файлов .pyc;
- Прекращена поддержка Python 3.4, MySQL 5.5 и PostgreSQL 9.3. В Django 2.1 поддерживаются только Python 3.5, 3.6 и 3.7, MySQL 5.6+, PostgreSQL 9.4+.
|