Upgrading from 2.1.x and Django 1.2.x¶
Upgrading dependencies¶
Upgrade both your version of django CMS and Django by running the following commands.
pipinstall--upgradedjango-cms==2.2django==1.3.1
If you are using django-reversion make sure to have at least version 1.4 installed
pipinstall--upgradedjango-reversion==1.4
Also, make sure that django-mptt stays at a version compatible with django CMS
pipinstall--upgradedjango-mptt==0.5.1
Updates to settings.py¶
The following changes will need to be made in your settings.py file:
ADMIN_MEDIA_PREFIX = '/static/admin' STATIC_ROOT = os.path.join(PROJECT_PATH, 'static') STATIC_URL = "/static/"
Note
These are not django CMS settings. Refer to the Django documentation on staticfiles for more information.
Note
Please make sure the static sub-folder exists in your
project and is writeable.
Note
PROJECT_PATH is the absolute path to your project.
Remove the following from TEMPLATE_CONTEXT_PROCESSORS:
django.core.context_processors.auth
Add the following to TEMPLATE_CONTEXT_PROCESSORS:
django.contrib.auth.context_processors.auth django.core.context_processors.static sekizai.context_processors.sekizai
Remove the following from MIDDLEWARE_CLASSES:
cms.middleware.media.PlaceholderMediaMiddleware
Remove the following from INSTALLED_APPS:
publisher
Add the following to INSTALLED_APPS:
sekizai django.contrib.staticfiles
Template Updates¶
Make sure to add sekizai tags and cms_toolbar to your CMS templates.
Note
cms_toolbar is only needed if you wish to use the front-end editing. See Backwards incompatible changes for more information
Here is a simple example for a base template called base.html:
{% load cms_tags sekizai_tags %} <html> <head> {% render_block "css" %} </head> <body> {% cms_toolbar %} {% placeholder base_content %} {% block base_content%}{% endblock %} {% render_block "js" %} </body> </html>
Database Updates¶
Run the following commands to upgrade your database
pythonmanage.pysyncdb pythonmanage.pymigrate
Static Media¶
Add the following to urls.py to serve static media when developing:
if settings.DEBUG: urlpatterns = patterns('', re_path(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}), re_path(r'', include('django.contrib.staticfiles.urls')), ) + urlpatterns
Also run this command to collect static files into your STATIC_ROOT:
python manage.py collectstatic