· 8 years ago · Jan 25, 2018, 07:42 PM
1# -*- coding: utf-8 -*-
2# (c) Copyright 2011 Oliver Andrich. All Rights Reserved.
3
4# BASIC SETTINGS -----------------------------------------------------------------------------------
5
6import sys, os
7
8PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
9PROJECT_NAME = os.path.split(PROJECT_ROOT)[-1]
10
11# DEBUG SETTINGS -----------------------------------------------------------------------------------
12
13DEBUG = True
14TEMPLATE_DEBUG = DEBUG
15INTERNAL_IPS = ('127.0.0.1',)
16
17# NOTIFICATION SETTINGS ----------------------------------------------------------------------------
18
19ADMINS = ( ('Your Name', 'your_email@example.com'), )
20MANAGERS = ADMINS
21DEFAULT_FROM_EMAIL = 'from-mail@example.com'
22SERVER_EMAIL = 'error-notify@example.com'
23
24EMAIL_SUBJECT_PREFIX = '[{0}] '.format(PROJECT_NAME)
25EMAIL_HOST = 'localhost'
26EMAIL_PORT = 25
27EMAIL_HOST_USER = ''
28EMAIL_HOST_PASSWORD = ''
29EMAIL_USE_TLS = False
30
31# I18N, L10N AND TIMEZONE --------------------------------------------------------------------------
32
33TIME_ZONE = 'Europe/Berlin'
34LANGUAGE_CODE = 'en'
35LANGUAGES = (('en', 'English'), ('de', 'German'))
36USE_I18N = True
37USE_L10N = True
38
39# URLS ---------------------------------------------------------------------------------------------
40
41ROOT_URLCONF = '{0}.urls'.format(PROJECT_NAME)
42
43# DATABASE -----------------------------------------------------------------------------------------
44
45DATABASES = {
46 'default': {
47 'ENGINE': 'django.db.backends.sqlite3',
48 'NAME': PROJECT_NAME + '.sqlite3',
49 'USER': '',
50 'PASSWORD': '',
51 'HOST': '',
52 'PORT': '',
53 }
54}
55
56# APPS ---------------------------------------------------------------------------------------------
57
58INSTALLED_APPS = (
59 'django.contrib.auth',
60 'django.contrib.contenttypes',
61 'django.contrib.sessions',
62 'django.contrib.messages',
63 'django.contrib.staticfiles',
64 'django.contrib.admin',
65)
66
67# MIDDLEWARES --------------------------------------------------------------------------------------
68
69MIDDLEWARE_CLASSES = (
70 'django.middleware.gzip.GZipMiddleware',
71 'django.middleware.common.CommonMiddleware',
72 'django.contrib.sessions.middleware.SessionMiddleware',
73 'django.middleware.csrf.CsrfViewMiddleware',
74 'django.contrib.auth.middleware.AuthenticationMiddleware',
75 'django.contrib.messages.middleware.MessageMiddleware',
76)
77
78# TEMPLATE HANDLING --------------------------------------------------------------------------------
79
80TEMPLATE_LOADERS = (
81 'django.template.loaders.filesystem.Loader',
82 'django.template.loaders.app_directories.Loader',
83)
84
85if not DEBUG:
86 TEMPLATE_LOADERS = (
87 ('django.template.loaders.cached.Loader', (
88 'django.template.loaders.filesystem.Loader',
89 'django.template.loaders.app_directories.Loader',
90 )),
91 )
92
93
94TEMPLATE_CONTEXT_PROCESSORS = (
95 'django.core.context_processors.debug',
96 'django.core.context_processors.i18n',
97 'django.core.context_processors.media',
98 'django.core.context_processors.static',
99 'django.core.context_processors.request',
100 'django.contrib.auth.context_processors.auth',
101 'django.contrib.messages.context_processors.messages',
102)
103
104TEMPLATE_DIRS = ( PROJECT_ROOT + '/templates/', )
105
106# STATIC AND MEDIA FILES ---------------------------------------------------------------------------
107
108STATICFILES_FINDERS = (
109 'django.contrib.staticfiles.finders.FileSystemFinder',
110 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
111)
112
113STATICFILES_DIRS = (os.path.join(PROJECT_ROOT, 'static/'), )
114STATIC_URL = '/static/'
115ADMIN_MEDIA_PREFIX = '/static/admin/'
116
117MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media/')
118MEDIA_URL = '/media/'
119
120# LOGGING ------------------------------------------------------------------------------------------
121
122LOGGING = {
123 'version': 1,
124 'disable_existing_loggers': False,
125 'handlers': {
126 'mail_admins': {
127 'level': 'ERROR',
128 'class': 'django.utils.log.AdminEmailHandler'
129 }
130 },
131 'loggers': {
132 'django.request': {
133 'handlers': ['mail_admins'],
134 'level': 'ERROR',
135 'propagate': True,
136 },
137 }
138}
139
140# SECRET KEY ---------------------------------------------------------------------------------------
141
142try:
143 SECRET_KEY
144except NameError:
145 SECRET_FILE = os.path.join(PROJECT_ROOT, 'secret.txt')
146 try:
147 SECRET_KEY = open(SECRET_FILE).read().strip()
148 except IOError:
149 try:
150 from random import choice
151 chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)'
152 SECRET_KEY = ''.join([choice(chars) for i in range(50)])
153 secret = file(SECRET_FILE, 'w')
154 secret.write(SECRET_KEY)
155 secret.close()
156 except IOError:
157 msg = 'Please create a %s file with random characters to generate your secret key!' % SECRET_FILE
158 Exception(msg)