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_multisitetoINSTALLED_APPS:INSTALLED_APPS=[ ... 'multisite', 'djangocms_multisite', ... ]Add
multisite.middleware.DynamicSiteMiddlewareanddjangocms_multisite.middleware.CMSMultiSiteMiddlewaretoMIDDLEWARE_CLASSES;multisite.middleware.DynamicSiteMiddlewaremust be applied beforecms.middleware.utils.ApphookReloadMiddleware, whiledjangocms_multisite.middleware.CMSMultiSiteMiddlewaremust 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'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