django-multisite support for django CMS
Supported Django versions:
- Django 1.6
- Django 1.7
- Django 1.8
- Django 1.9
Supported django CMS versions:
- django CMS 3.*
- Configure django-multisite as documented upstream
- Use
SITE_ID = SiteID(default=1)
instead of the documentedSITE_ID = SiteID()
Add
multisite
,djangocms_multisite
toINSTALLED_APPS
:INSTALLED_APPS=[ ... 'multisite', 'djangocms_multisite', ... ]
Add
multisite.middleware.DynamicSiteMiddleware
anddjangocms_multisite.middleware.CMSMultiSiteMiddleware
toMIDDLEWARE_CLASSES
;multisite.middleware.DynamicSiteMiddleware
must be applied beforecms.middleware.utils.ApphookReloadMiddleware
, whiledjangocms_multisite.middleware.CMSMultiSiteMiddleware
must right after that:MIDDLEWARE_CLASSES = [ ... 'multisite.middleware.DynamicSiteMiddleware', 'cms.middleware.utils.ApphookReloadMiddleware', 'djangocms_multisite.middleware.CMSMultiSiteMiddleware', ... ]
Configure the URL mapping as follows:
MULTISITE_CMS_URLS={ 'www.example.com': 'tests.test_utils.urls1', 'www.example2.com': 'tests.test_utils.urls2', }, MULTISITE_CMS_ALIASES={ 'www.example.com': ('alias1.example.com', 'alias2.example.com',), 'www.example2.com': ('alias1.example2.com', 'alias2.example2.com',), }, MULTISITE_CMS_FALLBACK='www.example.com'
In project
urls.py
:#. Add ``from djangocms_multisite.urlresolvers import cms_multisite_url`` #. Change ``url(r'^', include('cms.urls')),`` to ``cms_multisite_url(r'^', include('cms.urls')),``
- Run
python manage.py migrate
Dictionary (or OrderedDict) containing the mapping between the domain (as configured in django sites
) and the corresponding urlconf.
The default domain to load if any of the above does not match.
Dictionary (or OrderedDict) containing the mapping between the domain (as configured in django sites
) and a list of aliases. This is optional if all the aliases are configured as django-multisite
aliases