· 7 years ago · Jun 21, 2018, 05:20 AM
1import os, socket
2
3# Determine name of local settings file
4hostname = socket.gethostname().replace('.', '_').lower()
5local_name = hostname
6if os.environ.has_key('APPLICATION_ROLE'):
7 application_role = os.environ['APPLICATION_ROLE']
8 local_name = '_'.join([application_role, hostname])
9
10# Import local settings
11try:
12 local = copy.copy(__import__('settings.%s' % local_name, {}, {},
13 ['local_settings'], -1).local_settings)
14except ImportError:
15 local = {}
16
17# Import passwords
18try:
19 passwords = copy.copy(__import__('settings.passwords', {}, {},
20 ['passwords'], -1).passwords)
21except ImportError:
22 passwords = {}
23
24# Path settings
25PROJECT_DIR = os.path.normpath(os.path.join(
26 os.path.dirname(__file__),
27 os.pardir
28))
29MEDIA_ROOT = os.path.join(PROJECT_DIR, 'assets')
30TEMPLATE_DIRS = (
31 os.path.join(PROJECT_DIR, 'templates'),
32)
33FIXTURE_DIRS = (
34 os.path.join(PROJECT_DIR, 'data', 'fixtures'),
35)
36MEDIA_URL = local.pop('MEDIA_URL', '')
37ADMIN_MEDIA_PREFIX = local.pop('ADMIN_MEDIA_PREFIX', '/media/')
38
39
40# ...
41
42DEBUG = local.pop('DEBUG', False)
43TEMPLATE_DEBUG = local.pop('TEMPLATE_DEBUG', DEBUG)
44ADMINS = [
45 ('Chuck Harmston', 'chuck@chuckharmston.com'),
46] + local.pop('ADMINS', [])
47
48SECRET_KEY = passwords['SECRET_KEY']
49
50# ...
51
52# Dump all remaining local settings to locals() (app-specific settings, etc)
53locals().update(local)
54
55
56# Include DDT if in debug mode
57if DEBUG:
58 INSTALLED_APPS += ('debug_toolbar',)
59 MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware',)