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 в пользу встроенных механизмов поддержки мультиязычности.