Релиз web-фреймворка Django 2.1
Как сообщает opennet.ru Представлен релиз 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+.