Релиз web-фреймворка Django 2.1

Представлен релиз 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+.

© OpenNet