Serve multiple sites from a single Django application
Project description
Get the code via git:
git clone git://github.com/ecometrica/django-multisite.git django-multisite
Add the django-multisite/multisite folder to your PYTHONPATH.
Quickstart
Replace your SITE_ID in settings.py to:
from multisite import SiteID SITE_ID = SiteID()
Add to settings.py TEMPLATE_LOADERS:
TEMPLATE_LOADERS = ( 'multisite.template_loader.Loader', 'django.template.loaders.app_directories.Loader', )
Edit to settings.py MIDDLEWARE_CLASSES:
MIDDLEWARE_CLASSES = ( ... 'multisite.middleware.DynamicSiteMiddleware', ... )
Append to settings.py, in order to use a custom cache that can be safely cleared:
# The cache connection to use for django-multisite. # Default: 'default' CACHE_MULTISITE_ALIAS = 'multisite' # The cache key prefix that django-multisite should use. # Default: '' (Empty string) CACHE_MULTISITE_KEY_PREFIX = ''
If you have set CACHE_MULTISITE_ALIAS to a custom value, e.g. 'multisite', add a separate backend to settings.py CACHES:
CACHES = { 'default': { ... }, 'multisite': { 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 60 * 60 * 24, # 24 hours ... }, }
Domain fallbacks
By default, if the domain name is unknown, multisite will respond with an HTTP 404 Not Found error. To change this behaviour, add to settings.py:
# The view function or class-based view that django-multisite will # use when it cannot match the hostname with a Site. This can be # the name of the function or the function itself. # Default: None MULTISITE_FALLBACK = 'django.views.generic.base.RedirectView # Keyword arguments for the MULTISITE_FALLBACK view. # Default: {} MULTISITE_FALLBACK_KWARGS = {'url': 'http://example.com/', 'permanent': False}
Create a directory settings.TEMPLATE_DIRS directory with the names of domains, such as:
mkdir templates/example.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-multisite-1.2.3.tar.gz
.
File metadata
- Download URL: django-multisite-1.2.3.tar.gz
- Upload date:
- Size: 22.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d93757ded106db0e34f22bd666f915ad89401157b7c42e4be199396842f5a8ef |
|
MD5 | e290542cf0b1534ffbc6faf1dba7d832 |
|
BLAKE2b-256 | be99adb237ad53115e722d987c5fece3d71e376bfd2eeb6f8160286e78806ed2 |