2.2 примечания к выпуску

Что нового в версии 2.2

django-mptt теперь правильная зависимость

django-mptt теперь используется как правильная зависимость и больше не поставляется с django CMS. Это решает проблему конфликта версий, с которой многие сталкивались при попытке использовать django CMS вместе с другими приложениями Django, требующими django-mptt. django CMS 2.2 требует django-mptt 0.5.1.

Предупреждение

Перед обновлением удалите старый пакет mptt из каталога Python site-packages. Файл setup.py установит пакет django-mptt в качестве внешней зависимости!

Поддержка Django 1.3

django CMS 2.2 поддерживает как Django 1.2.5, так и Django 1.3.

Просмотр разрешений

Теперь вы можете предоставлять права на просмотр страниц django CMS группам и пользователям.

Обратные несовместимые изменения

django-sekizai вместо PluginMedia

В связи с плачевным состоянием старого медиа-фреймворка plugin, он был отменен в пользу более стабильного и гибкого django-sekizai, который является новой зависимостью для django CMS 2.2.

Затронуты следующие методы и свойства cms.plugin_base.CMSPluginBase:

  • cms.plugins_base.CMSPluginBase.PluginMedia

  • cms.plugins_base.CMSPluginBase.pluginmedia

  • cms.plugins_base.CMSPluginBase.get_plugin_media

Доступ к этим атрибутам или методам вызовет ошибку cms.exceptions.Deprecated.

Промежуточное ПО cms.middleware.media.PlaceholderMediaMiddleware также было удалено в этом процессе и поэтому больше не требуется. Однако теперь вам необходимо иметь контекстный процессор sekizai.context_processors.sekizai в настройках TEMPLATE_CONTEXT_PROCESSORS.

Все шаблоны в CMS_TEMPLATES должны как минимум содержать пространства имен js и css sekizai.

Пожалуйста, обратитесь к документации по Работа со средствами массовой информации в пользовательских плагинах CMS и django-sekizai documentation для получения дополнительной информации.

Панель инструментов должна быть включена в шаблонах явным образом

Панель инструментов больше не встраивается в ответы в промежуточном ПО, а должна быть включена явно с помощью тега шаблона {% cms_toolbar %} из библиотеки тегов шаблонов cms_tags в ваших шаблонах. Тег шаблона должен быть помещен в тело HTML (в пределах <body>...</body>).

Это решает проблемы, связанные с тем, что панель инструментов появлялась там, где не должна была.

Статические файлы перемещены в /static/

Статические файлы (CSS/JavaScript/изображения) были перемещены из /media/ в /static/ для работы с новым приложением django.contrib.staticfiles в Django 1.3. Это означает, что вам придется убедиться, что вы обслуживаете статические файлы, а также медиа файлы на вашем сервере.

Предупреждение

Если вы используете Django 1.2.x, у вас не будет приложения django.contrib.staticfiles. Вместо этого вам нужен бэкпорт django-staticfiles.

Функции, устаревшие в версии 2.2

django-dbgettext поддержка

Поддержка django-dbgettext была полностью отменена в версии 2.2 в пользу встроенных механизмов поддержки мультиязычности.

Вернуться на верх