Django application, implement multi domain concept. You can choose your url config according to your domain host.
You can install the most recent Django Multi Domain version using pip:
pip install django-multidomain
NOTE: The following settings should be added to the project file 'settings.py'.
Add 'multidomain' to ''INSTALLED_APPS'':
INSTALLED_APPS += ( 'multidomain', )
Add 'multidomain.middleware.DomainMiddleware' to ''MIDDLEWARE_CLASSES'':
MIDDLEWARE_CLASSES += ( 'multidomain.middleware.DomainMiddleware', )
Create a file for each domain you have (For example: 'domain-one.dev' and 'domain-two.dev'):
* urls.py (by default) from django.conf.urls import patterns, include, url from django.contrib import admin urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), ) * urls-one.py from django.conf.urls import patterns, include, url import one.urls urlpatterns = patterns( '', url(r'^', include(one.urls, namespace='one')), ) * urls-two.py from django.conf.urls import patterns, include, url import two.urls urlpatterns = patterns( '', url(r'^', include(two.urls, namespace='one')), )
Declare host/domain urlconfig tuple ''URL_CONFIG'':
URL_CONFIG = ( (r'^(.+\.)?domain-one\.dev', 'urls-one'), (r'^(.+\.)?domain-two\.dev', 'urls-two'), ) ROOT_URLCONF = 'urls'
It should create the following structure:
project_django/ | -- __init__.py | -- settings.py | -- wsgi.py | -- urls-one.py | -- urls-two.py | -- urls.py (default/optional)
NOTE: We use ''django-theming'' library to manage multiple teming. (https://github.com/achavezu89/django-theming) NOTE: If you use reverse-proxy, please put to the 'settings.py' :
USE_X_FORWARDED_HOST = True
Development of django-multidomain happens at github: https://github.com/cyacarinic/django-multidomain
- Claudio Yacarini: https://github.com/cyacarinic/