Multi-tenant settings (fixes #5502)
This commit is contained in:
parent
3fa4ada271
commit
eda76d1edd
|
@ -132,13 +132,40 @@ try:
|
|||
except ImportError:
|
||||
pass
|
||||
|
||||
if os.environ.get('MULTITENANT_MODE', 'no') == 'yes':
|
||||
try:
|
||||
from tenant_settings import *
|
||||
except ImportError:
|
||||
pass
|
||||
TENANT_BASE = None
|
||||
|
||||
try:
|
||||
from local_settings import *
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
TENANT_BASE = os.environ.get('TENANT_BASE', TENANT_BASE)
|
||||
|
||||
if TENANT_BASE:
|
||||
SOUTH_TESTS_MIGRATE = False
|
||||
if DATABASES['default']['ENGINE'] != 'django.db.backends.postgresql_psycopg2':
|
||||
raise ImproperlyConfigured('MULTITENANT only work with a postgresql database')
|
||||
DATABASES['default']['ENGINE'] = 'tenant_schemas.postgresql_backend'
|
||||
TEMPLATE_LOADERS = ('entrouvert.djommon.multitenant.template_loader.FilesystemLoader',) + TEMPLATE_LOADERS
|
||||
DEFAULT_FILE_STORAGE = 'entrouvert.djommon.multitenant.storage.TenantFileSystemStorage'
|
||||
MIDDLEWARE_CLASSES = (
|
||||
'entrouvert.djommon.multitenant.middleware.TenantMiddleware',
|
||||
'entrouvert.djommon.multitenant.middleware.JSONSettingsMiddleware',
|
||||
'entrouvert.djommon.multitenant.middleware.PythonSettingsMiddleware',
|
||||
) + MIDDLEWARE_CLASSES
|
||||
INSTALLED_APPS = INSTALLED_APPS + ('entrouvert.djommon.multitenant',)
|
||||
TENANT_APPS = INSTALLED_APPS
|
||||
|
||||
TENANT_MODEL = 'multitenant.Tenant'
|
||||
TENANT_TEMPLATE_DIRS = ( TENANT_BASE, )
|
||||
SOUTH_DATABASE_ADAPTERS = {
|
||||
'default': 'south.db.postgresql_psycopg2',
|
||||
}
|
||||
SHARED_APPS = (
|
||||
'django.contrib.staticfiles',
|
||||
'django.contrib.auth',
|
||||
'django.contrib.contenttypes',
|
||||
'django.contrib.sessions',
|
||||
'django.contrib.messages',
|
||||
)
|
||||
|
||||
|
|
Loading…
Reference in New Issue