]> git.0d.be Git - panikweb.git/blob - panikweb/settings.py
topiks: use a flat list for pages
[panikweb.git] / panikweb / settings.py
1 #!/usr/bin/env python
2 # coding: utf-8
3
4 import os
5
6 import django.conf.global_settings as DEFAULT_SETTINGS
7
8 DEBUG = True  # Turn off for production
9 TEMPLATE_DEBUG = DEBUG
10 DEBUG_TOOLBAR = False
11
12 PROJECT_DIR = os.path.normpath(os.path.dirname(os.path.dirname(__file__)))
13 ADMINS = (
14     # ('Your Name', 'your_email@domain.com'),
15 )
16 MANAGERS = ADMINS
17 DEFAULT_FROM_EMAIL = 'info@radiopanik.org'
18
19 LOGIN_REDIRECT_URL = '/'
20
21 DATABASES = {
22     'default': {
23         'ENGINE': 'django.db.backends.sqlite3',
24         'NAME': os.path.join(PROJECT_DIR, 'panikweb.sqlite3'),
25         'USER': '',
26         'PASSWORD': '',
27         'HOST': '',
28         'PORT': '',
29     },
30 }
31
32 ACCOUNT_ACTIVATION_DAYS = 7  # Activation window
33
34 #if django.VERSION[:2] < (1, 6):
35 TEST_RUNNER = 'discover_runner.DiscoverRunner'
36
37 # Local time zone for this installation. Choices can be found here:
38 # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
39 # although not all choices may be available on all operating systems.
40 # If running in a Windows environment this must be set to the same as your
41 # system time zone.
42 TIME_ZONE = 'Europe/Brussels'
43
44 # Language code for this installation. All choices can be found here:
45 # http://www.i18nguy.com/unicode/language-identifiers.html
46 LANGUAGE_CODE = 'fr-be'
47
48 LANGUAGES = (
49   ('fr', u'Français'),
50   ('en', u'English'),
51 )
52
53 SITE_ID = 1
54
55 # If you set this to False, Django will make some optimizations so as not
56 # to load the internationalization machinery.
57 USE_I18N = True
58
59 LOCALE_PATHS = (os.path.join(PROJECT_DIR, 'panikweb', 'locale'),)
60
61 # Absolute filesystem path to the directory that will hold user-uploaded files.
62 # Example: "/home/media/media.lawrence.com/media/"
63 MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media')
64
65 # URL that handles the media served from MEDIA_ROOT. Make sure to use a
66 # trailing slash.
67 # Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
68 MEDIA_URL = '/media/'
69
70 # Absolute path to the directory static files should be collected to.
71 # Don't put anything in this directory yourself; store your static files
72 # in apps' "static/" subdirectories and in STATICFILES_DIRS.
73 # Example: "/home/media/media.lawrence.com/static/"
74 STATIC_ROOT = os.path.join(PROJECT_DIR, 'staticroot')
75
76 # URL prefix for static files.
77 # Example: "http://media.lawrence.com/static/"
78 STATIC_URL = '/static/'
79
80 # Additional locations of static files
81 STATICFILES_DIRS = (
82     # Put strings here, like "/home/html/static" or "C:/www/django/static".
83     # Always use forward slashes, even on Windows.
84     # Don't forget to use absolute paths, not relative paths.
85 )
86
87 # List of finder classes that know how to find static files in
88 # various locations.
89 STATICFILES_FINDERS = (
90     'django.contrib.staticfiles.finders.FileSystemFinder',
91     'django.contrib.staticfiles.finders.AppDirectoriesFinder',
92     'compressor.finders.CompressorFinder',
93 #    'django.contrib.staticfiles.finders.DefaultStorageFinder',
94 )
95
96 # Make this unique, and don't share it with anybody.
97 SECRET_KEY = '3qm&amp;@6264-=st16)7_xa*ds+31e0mqqs@+*!ud7gzt$tq!b^qn'
98
99 # List of callables that know how to import templates from various sources.
100 TEMPLATE_LOADERS = (
101     'django.template.loaders.filesystem.Loader',
102     'django.template.loaders.app_directories.Loader',
103 #     'django.template.loaders.eggs.load_template_source',
104 )
105
106 MIDDLEWARE_CLASSES = (
107     'django.middleware.cache.UpdateCacheMiddleware',
108     #'django.middleware.gzip.GZipMiddleware',
109     'django.contrib.sessions.middleware.SessionMiddleware',
110     'django.middleware.locale.LocaleMiddleware',
111     'django.middleware.common.CommonMiddleware',
112     'django.middleware.csrf.CsrfViewMiddleware',
113     'django.contrib.auth.middleware.AuthenticationMiddleware',
114     'django.contrib.messages.middleware.MessageMiddleware',
115     #'request.middleware.RequestMiddleware',
116     'panikweb.middleware.StripPiwikCookieMiddleware',
117     'django.middleware.cache.FetchFromCacheMiddleware',
118 )
119
120 TEMPLATE_CONTEXT_PROCESSORS = DEFAULT_SETTINGS.TEMPLATE_CONTEXT_PROCESSORS + (
121     'django.core.context_processors.request',
122     'panikweb.context_processors.site_url',
123 )
124
125
126 ROOT_URLCONF = 'panikweb.urls'
127
128 TEMPLATE_DIRS = (
129     # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
130     # Always use forward slashes, even on Windows.
131     # Don't forget to use absolute paths, not relative paths.
132 )
133
134 INSTALLED_APPS = (
135     'django.contrib.auth',
136     'django.contrib.contenttypes',
137     'django.contrib.sessions',
138     'django.contrib.sites',
139     'django.contrib.messages',
140     'django.contrib.staticfiles',
141     'django.contrib.admin',
142     'django.contrib.admindocs',
143     'haystack',
144     'taggit',
145     'panikweb_templates',
146     'panikweb.paniktags',
147     'compressor',
148     'sorl.thumbnail',
149     'jquery',
150     'ckeditor',
151     'emissions',
152     'newsletter',
153     'nonstop',
154     'combo.data',
155     'combo.public',
156     'combo.profile',
157     'combo.apps.search',
158     'panikombo',
159     'gallery',
160 )
161
162 CKEDITOR_UPLOAD_PATH = os.path.join(MEDIA_ROOT, 'uploads')
163 CKEDITOR_UPLOAD_PREFIX = '/media/uploads/'
164
165 HAYSTACK_CONNECTIONS = {
166     'default': {
167         'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
168         'URL': 'http://127.0.0.1:8985/solr/panik'
169     },
170 }
171
172 FIBER_TEMPLATE_CHOICES = (
173     ('tpl-default.html', 'Default template'),
174 )
175
176 ENABLE_PIWIK = False
177
178 CACHES = {
179     'default': {
180         'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
181     },
182 }
183
184 LOGGING = {
185     'version': 1,
186     'disable_existing_loggers': False,
187     'filters': {
188         'require_debug_false': {
189             '()': 'django.utils.log.RequireDebugFalse'
190         }
191     },
192     'handlers': {
193         'mail_admins': {
194             'level': 'ERROR',
195             'filters': ['require_debug_false'],
196             'class': 'django.utils.log.AdminEmailHandler'
197         }
198     },
199     'loggers': {
200         'django.request': {
201             'handlers': ['mail_admins'],
202             'level': 'ERROR',
203             'propagate': True,
204         },
205     }
206 }
207
208 STATSD_CLIENT = 'django_statsd.clients.null'
209
210 RAVEN_CONFIG = None
211
212 DEBUG_TOOLBAR_PANELS = (
213     'debug_toolbar.panels.version.VersionDebugPanel',
214     'debug_toolbar.panels.timer.TimerDebugPanel',
215     'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel',
216     'debug_toolbar.panels.headers.HeaderDebugPanel',
217     'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
218     'debug_toolbar.panels.sql.SQLDebugPanel',
219     'debug_toolbar.panels.template.TemplateDebugPanel',
220     'debug_toolbar.panels.signals.SignalDebugPanel',
221     'debug_toolbar.panels.logger.LoggingPanel',
222 )
223
224 from panikombo.misc import COMBO_PUBLIC_TEMPLATES
225
226 LANGUAGE_COOKIE_NAME = 'panikweb_language'
227
228 try:
229     from local_settings import *
230 except ImportError, e:
231     pass
232
233 if DEBUG and DEBUG_TOOLBAR:
234     MIDDLEWARE_CLASSES += (
235         'debug_toolbar.middleware.DebugToolbarMiddleware',
236     )
237     INSTALLED_APPS += (
238         'debug_toolbar',
239     )
240
241     if 'template_timings_panel.panels.TemplateTimings.TemplateTimings' in DEBUG_TOOLBAR_PANELS:
242         INSTALLED_APPS += ('template_timings_panel',)
243
244 if ENABLE_PIWIK is False:
245     MIDDLEWARE_CLASSES = tuple([x for x in MIDDLEWARE_CLASSES \
246                                 if x != 'panikweb.middleware.StripPiwikCookieMiddleware'])
247
248 if STATSD_CLIENT != 'django_statsd.clients.null':
249     MIDDLEWARE_CLASSES = (
250             'django_statsd.middleware.GraphiteRequestTimingMiddleware',
251             'django_statsd.middleware.GraphiteMiddleware',
252     ) + MIDDLEWARE_CLASSES
253     INSTALLED_APPS += (
254         'django_statsd',
255     )
256
257 if RAVEN_CONFIG:
258     INSTALLED_APPS += (
259         'raven.contrib.django.raven_compat',
260     )