nephila / djangocms-multisite

django-multisite support for DjangoCMS
BSD 3-Clause "New" or "Revised" License
26 stars 19 forks source link
cms django djangocms multisite python

=================== djangocms-multisite

django-multisite <https://github.com/ecometrica/django-multisite>_ support for DjangoCMS

|Gitter| |PyPiVersion| |PyVersion| |Status| |TestCoverage| |TestCoveralls| |CodeClimate| |License|

Support

Supported Django versions:

Supported django CMS versions:

Assumptions

. A virtualenv up and running

. DjangoCMS working

Installation

pip install djangocms-multisite

Usage

. Open your settings.py file

. We need to add the configurations for django-multisite <https://github.com/ecometrica/django-multisite>_ :

. Add multisite.middleware.DynamicSiteMiddleware and djangocms_multisite.middleware.CMSMultiSiteMiddleware to MIDDLEWARE_CLASSES. The order is important: multisite.middleware.DynamicSiteMiddleware must be applied before cms.middleware.utils.ApphookReloadMiddleware, while djangocms_multisite.middleware.CMSMultiSiteMiddleware must be right after::

MIDDLEWARE_CLASSES = [
    ...
    'multisite.middleware.DynamicSiteMiddleware',
    'cms.middleware.utils.ApphookReloadMiddleware',
    'djangocms_multisite.middleware.CMSMultiSiteMiddleware',
    ...
]

. Configure the URL mapping as follows. The tests.test_utils.urls1 path can be the main urlconf file that you already have in your project. And it can be the same for all the domains if you need the same structure.::

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 makemigrations

. Run python manage.py migrate to apply the django-multisite <https://github.com/ecometrica/django-multisite>_ migrations

Settings explanation

MULTISITE_CMS_URLS ^^^^^^^^^^^^^^^^^^

Dictionary (or OrderedDict) containing the mapping between the domain (as configured in django sites) and the corresponding urlconf.

MULTISITE_CMS_FALLBACK ^^^^^^^^^^^^^^^^^^^^^^

The default domain to load if any of the above does not match.

MULTISITE_CMS_ALIASES ^^^^^^^^^^^^^^^^^^^^^

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

Troubleshooting

.. |Gitter| image:: https://img.shields.io/badge/GITTER-join%20chat-brightgreen.svg?style=flat-square :target: https://gitter.im/nephila/applications :alt: Join the Gitter chat

.. |PyPiVersion| image:: https://img.shields.io/pypi/v/djangocms-multisite.svg?style=flat-square :target: https://pypi.python.org/pypi/djangocms-multisite :alt: Latest PyPI version

.. |PyVersion| image:: https://img.shields.io/pypi/pyversions/djangocms-multisite.svg?style=flat-square :target: https://pypi.python.org/pypi/djangocms-multisite :alt: Python versions

.. |Status| image:: https://img.shields.io/travis/nephila/djangocms-multisite.svg?style=flat-square :target: https://travis-ci.org/nephila/djangocms-multisite :alt: Latest Travis CI build status

.. |TestCoverage| image:: https://img.shields.io/coveralls/nephila/djangocms-multisite/master.svg?style=flat-square :target: https://coveralls.io/r/nephila/djangocms-multisite?branch=master :alt: Test coverage

.. |TestCoveralls| image:: https://coveralls.io/repos/github/nephila/djangocms-multisite/badge.svg?branch=master :target: https://coveralls.io/github/nephila/djangocms-multisite?branch=master :alt: Test coverage

.. |License| image:: https://img.shields.io/github/license/nephila/djangocms-multisite.svg?style=flat-square :target: https://pypi.python.org/pypi/djangocms-multisite/ :alt: License

.. |CodeClimate| image:: https://codeclimate.com/github/nephila/djangocms-multisite/badges/gpa.svg?style=flat-square :target: https://codeclimate.com/github/nephila/djangocms-multisite :alt: Code Climate