settings.py 7.6 KB
Newer Older
Okhin's avatar
Okhin committed
1
2
# Django settings for nnmon project.

Okhin's avatar
Okhin committed
3
from django.utils.translation import ugettext_lazy as _
Okhin's avatar
Okhin committed
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import os
BASE_PATH = os.path.dirname(__file__)
DEBUG = True
TEMPLATE_DEBUG = DEBUG

FORCE_SCRIPT_NAME = ''
DEV_SERVER = True
MEDIA_PATH = BASE_PATH+'/media'
ROOT_URL = ''

ADMINS = (
    ('stef', 'stef@ctrlc.hu'),
    ('nnmon', 'nnmon@laquadrature.net'),
)

MANAGERS = ADMINS

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'nnmon.db',                      # Or path to database file if using sqlite3.
        #'USER': '',                      # Not used with sqlite3.
        #'PASSWORD': '',                  # Not used with sqlite3.
        #'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        #'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}

# Local time zone for this installation. Choices can be found here:
Okhin's avatar
Okhin committed
33
# http:/en.wikipedia.org/wiki/List_of_tz_zones_by_name
Okhin's avatar
Okhin committed
34
35
36
37
38
39
40
41
# although not all choices may be available on all operating systems.
# On Unix systems, a value of None will cause Django to use the same
# timezone as the operating system.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'Europe/Brussels'

# Language code for this installation. All choices can be found here:
Okhin's avatar
Okhin committed
42
# http:/www.i18nguy.com/unicode/language-identifiers.html
Okhin's avatar
Okhin committed
43
44
LANGUAGE_CODE = 'en'

Okhin's avatar
Okhin committed
45
46
47
48
# Languages supported by the website
LANGUAGES = [
        ('fr', _('French')),
        ('en', _('English')),
49
        ('es', _('Spanish')),
Okhin's avatar
Okhin committed
50
51
        ]

Okhin's avatar
Okhin committed
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
SITE_ID = 1

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True

# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale
USE_L10N = True

# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/home/media/media.lawrence.com/media/"
MEDIA_ROOT = BASE_PATH+'/media/'

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
Okhin's avatar
Okhin committed
68
# Examples: "http:/media.lawrence.com/media/", "http:/example.com/media/"
Okhin's avatar
Okhin committed
69
70
71
72
73
74
75
76
77
if DEV_SERVER:
    MEDIA_URL = ROOT_URL+'/site_media/'
else:
    MEDIA_URL = ROOT_URL+'/media/'

# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
Okhin's avatar
Okhin committed
78
STATIC_ROOT = BASE_PATH+'/static_collected/'
Okhin's avatar
Okhin committed
79
80

# URL prefix for static files.
Okhin's avatar
Okhin committed
81
# Example: "http:/media.lawrence.com/static/"
Okhin's avatar
Okhin committed
82
83
84
85
STATIC_URL = '/static/'

# URL prefix for admin static files -- CSS, JavaScript and images.
# Make sure to use a trailing slash.
Okhin's avatar
Okhin committed
86
# Examples: "http:/foo.com/static/admin/", "/static/admin/".
Okhin's avatar
Okhin committed
87
88
89
90
91
92
93
ADMIN_MEDIA_PREFIX = '/static/admin/'

# Additional locations of static files
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
Okhin's avatar
Okhin committed
94
    BASE_PATH+'/static/',
Okhin's avatar
Okhin committed
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
)

# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#    'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

# Make this unique, and don't share it with anybody.
SECRET_KEY = '%jf=on=1+ol4b&_7aa1bq&sua=%#4luv9dx^=9#zqufbc%$e^('

# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
#     'django.template.loaders.eggs.Loader',
)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    #'babeldjango.middleware.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
)

ROOT_URLCONF = 'nnmon.urls'

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    os.path.join(BASE_PATH, 'templates'),
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django_comments',
Okhin's avatar
Okhin committed
142
143
    # Reduce the spam in comments
    'spamlesscomment',
Okhin's avatar
Okhin committed
144
145
146
147
148
149
150
151
    'tinymce',
    'bt',
    'captcha',
    # Uncomment the next line to enable the admin:
    'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
    'tastypie',
Okhin's avatar
Okhin committed
152
153
    # Register users
    'registration',
Okhin's avatar
Okhin committed
154
155
    # Haystack for searching through results
    'haystack',
Okhin's avatar
Okhin committed
156
157
    # Debugging bar
    'debug_toolbar',
158
159
    # Let's have fun with bootstrap
    'bootstrap3',
Okhin's avatar
Okhin committed
160
161
)

Okhin's avatar
Okhin committed
162
COMMENTS_APP = 'spamlesscomment'
Okhin's avatar
Okhin committed
163
164
165
166
167
168
169
170
TEMPLATE_CONTEXT_PROCESSORS = ("django.contrib.auth.context_processors.auth",
                               "django.core.context_processors.debug",
                               "django.core.context_processors.i18n",
                               "django.core.context_processors.media",
                               "django.core.context_processors.static",
                               'django.core.context_processors.request',
                               "django.contrib.messages.context_processors.messages")

Okhin's avatar
Okhin committed
171
172
173
174
175
176
177
178
LOCALE_PATHS = (
        os.path.join(BASE_PATH, 'locale/'),
        )

LANGUAGES = (
        ('en', 'English'),
        ('fr', 'Francais'),
        )
Okhin's avatar
Okhin committed
179
180
181
# A sample logging configuration. The only tangible logging
# performed by this configuration is to send an email to
# the site admins on every HTTP 500 error.
Okhin's avatar
Okhin committed
182
# See http:/docs.djangoproject.com/en/dev/topics/logging for
Okhin's avatar
Okhin committed
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
# more details on how to customize your logging configuration.
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler'
        },
        'logfile': {
            'class': 'logging.handlers.WatchedFileHandler',
            'filename': '/var/log/django/rmn.error.log',
        }
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
	'django': {
	    'handlers': ['logfile'],
            'level': 'ERROR',
            'propagate': False,
	},
    }
}

if DEBUG:
    EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend'
    EMAIL_FILE_PATH = '/tmp/app-messages'

TINYMCE_COMPRESSOR = True

SESSION_ENGINE = 'django.contrib.sessions.backends.file'

ACCOUNT_ACTIVATION_DAYS = 7
LOGIN_REDIRECT_URL = '/'

CAPTCHA_NOISE_FUNCTIONS = ('captcha.helpers.noise_dots',)
CAPTCHA_CHALLENGE_FUNCT = 'captcha.helpers.math_challenge'

MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage'

DEFAULT_FROM_EMAIL = 'nnmon@nnmon.lqdn.fr'

Okhin's avatar
Okhin committed
229
230
231
232
# HAYSTACK CONFIGURATION
HAYSTACK_CONNECTIONS = {
        'default': {
            'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
Okhin's avatar
Okhin committed
233
            'PATH': os.path.join(os.path.dirname(__file__), 'whoosh_index'),
Okhin's avatar
Okhin committed
234
235
236
        },
}

Okhin's avatar
Okhin committed
237
238
239
240
try:
    from local_settings import *
except:
    pass