· 9 years ago · Nov 14, 2016, 08:06 PM
1# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
2import os
3
4from unipath import Path
5BASE_DIR = os.path.dirname(os.path.dirname(__file__))
6PROJECT_DIR = os.path.abspath(os.path.join(BASE_DIR, '../'))
7PROJECT_DIR2 = Path(__file__).parent
8gettext = lambda s: s
9
10# Quick-start development settings - unsuitable for production
11# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/
12
13# SECURITY WARNING: keep the secret key used in production secret!
14SECRET_KEY = '@&r&$jai0yh(e^hr5am_-z)wyotgqs0*jlw-3g^=k!drw_4u9@'
15
16# SECURITY WARNING: don't run with debug turned on in production!
17DEBUG = False
18TEMPLATE_DEBUG = DEBUG
19
20DEBUG_TOOLBAR_CONFIG = {
21 'INTERCEPT_REDIRECTS': False
22}
23
24INTERNAL_IPS = ('127.0.0.1',)
25
26DEBUG_TOOLBAR_PANELS = (
27 'debug_toolbar.panels.version.VersionDebugPanel',
28 'debug_toolbar.panels.timer.TimerDebugPanel',
29 #'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel',
30 'debug_toolbar.panels.headers.HeaderDebugPanel',
31 'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
32 'debug_toolbar.panels.template.TemplateDebugPanel',
33 'debug_toolbar.panels.sql.SQLDebugPanel',
34 #'debug_toolbar.panels.signals.SignalDebugPanel',
35 #'debug_toolbar.panels.logger.LoggingPanel',
36)
37
38TEMPLATE_DEBUG = True
39
40ALLOWED_HOSTS = ['www.agilityportal.sk']
41
42ADMINS = (
43 ('Roman Hajnala', 'noske@noske.sk'),
44)
45
46# Application definition
47
48INSTALLED_APPS = (
49 'localeurl',
50 'grappelli',
51 'django.contrib.admin',
52 'django.contrib.auth',
53 'django.contrib.contenttypes',
54 'django.contrib.sessions',
55 'django.contrib.messages',
56 'django.contrib.sitemaps',
57 'django.contrib.staticfiles',
58
59 # moje
60 'users',
61
62 # django
63 'django.contrib.sites',
64 'allauth',
65 'allauth.account',
66 'allauth.socialaccount',
67 'allauth.socialaccount.providers.facebook',
68 'allauth.socialaccount.providers.google',
69 'django.contrib.admin',
70 'crispy_forms',
71 'debug_toolbar',
72 'djcelery',
73 'django_cleanup',
74 'django_extensions',
75 'model_utils',
76 'raven.contrib.django.raven_compat',
77 #'registration',
78 'rest_framework',
79 'sorl.thumbnail',
80 'south',
81 'export_xls',
82
83 # peto
84 'api',
85 'dbmailer',
86
87 # moje
88 'users',
89 'dogs',
90 'frontend',
91 'core',
92 'clubs',
93 'competitions',
94 'external_events',
95)
96
97MIDDLEWARE_CLASSES = (
98 'localeurl.middleware.LocaleURLMiddleware',
99 'django.contrib.sessions.middleware.SessionMiddleware',
100 'django.middleware.common.CommonMiddleware',
101 'django.middleware.csrf.CsrfViewMiddleware',
102 'django.contrib.auth.middleware.AuthenticationMiddleware',
103 'django.contrib.messages.middleware.MessageMiddleware',
104 'django.middleware.clickjacking.XFrameOptionsMiddleware',
105 'debug_toolbar.middleware.DebugToolbarMiddleware',
106)
107
108ROOT_URLCONF = 'agilityportal.urls'
109
110WSGI_APPLICATION = 'agilityportal.wsgi.application'
111
112
113# Database
114# https://docs.djangoproject.com/en/1.6/ref/settings/#databases
115
116DATABASES = {
117 'default': {
118 'ENGINE': 'django.db.backends.postgresql_psycopg2',
119 'NAME': 'agilityportal',
120 'USER': 'agiportal.sk',
121 'PASSWORD': 'agiportal.sql',
122 'HOST': '127.0.0.1',
123 'PORT': '5432',
124 #'OPTIONS': {
125 # 'autocommit': True,
126 #}
127 }
128}
129
130CACHES = {
131 'default': {
132 'BACKEND': 'redis_cache.RedisCache',
133 'LOCATION': '127.0.0.1:6379',
134 'OPTIONS': {
135 'DB': 2,
136 #'PASSWORD': 'yadayada',
137 'PARSER_CLASS': 'redis.connection.HiredisParser'
138 },
139 },
140}
141# Internationalization
142# https://docs.djangoproject.com/en/1.6/topics/i18n/
143
144TIME_ZONE = 'Europe/Bratislava'
145
146LANGUAGE_CODE = 'sk'
147
148USE_I18N = True
149
150USE_L10N = True
151
152USE_TZ = True
153
154SITE_ID = 1
155
156LANGUAGES = (
157 ('sk', gettext('Slovak')),
158 ('en', gettext('English')),
159)
160
161LOCALE_PATHS = (
162 Path(__file__).parent.parent.child('locale'),
163)
164
165LOCALE_INDEPENDENT_PATHS = (
166 r'^/admin/',
167 r'^/api',
168 r'^/sitemap.xml',
169
170)
171
172CRISPY_TEMPLATE_PACK = 'bootstrap3'
173
174# Static files (CSS, JavaScript, Images)
175# https://docs.djangoproject.com/en/1.6/howto/static-files/
176STATIC_ROOT = os.path.join(PROJECT_DIR, 'static/')
177STATIC_URL = '/static/'
178
179STATICFILES_FINDERS = (
180 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
181 'django.contrib.staticfiles.finders.FileSystemFinder',
182)
183
184STATICFILES_DIRS = (
185 os.path.join(PROJECT_DIR, 'src/static/'),
186)
187
188MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media/')
189MEDIA_URL = 'http://www.agilityportal.sk/media/'
190#MEDIA_URL = 'http://127.0.0.1:8000/media/'
191
192TEMPLATE_DIRS = (
193 os.path.join(PROJECT_DIR, 'src/templates/'),
194)
195
196### DEFAULT
197DEFAULT_COUNTRY = 'SK'
198DEFAULT_REGION = 'BA'
199
200# ==============================================================================
201# SESSIONS SETTINGS
202# ==============================================================================
203
204SESSION_ENGINE = 'redis_sessions.session'
205SESSION_REDIS_HOST = 'localhost'
206SESSION_REDIS_PORT = 6379
207SESSION_REDIS_DB = 1
208#SESSION_REDIS_PASSWORD = 'password'
209SESSION_REDIS_PREFIX = 'session'
210
211# ==============================================================================
212# SORL-THUMBNAIL SETTINGS
213# ==============================================================================
214THUMBNAIL_REDIS_HOST = 'localhost'
215THUMBNAIL_REDIS_PORT = 6379
216THUMBNAIL_REDIS_DB = 3
217THUMBNAIL_REDIS_PASSWORD = ''
218THUMBNAIL_DEBUG = True
219THUMBNAIL_KVSTORE = 'sorl.thumbnail.kvstores.cached_db_kvstore.KVStore'
220THUMBNAIL_KEY_PREFIX = 's-t'
221THUMBNAIL_PREFIX = 't/'
222THUMBNAIL_CACHE_TIMEOUT = 3600 * 24 * 7 # tyzden
223THUMBNAIL_FORMAT = "JPEG"
224THUMBNAIL_QUALITY = 95
225THUMBNAIL_PROGRESSIVE = True
226
227# ==============================================================================
228# ALL AUTH
229# ==============================================================================
230TEMPLATE_CONTEXT_PROCESSORS = (
231 # Required by allauth template tags
232 "django.contrib.auth.context_processors.auth",
233 "django.core.context_processors.debug",
234 "django.core.context_processors.i18n",
235 "django.core.context_processors.media",
236 "django.core.context_processors.static",
237 "django.contrib.messages.context_processors.messages",
238 "django.core.context_processors.request",
239 "django.contrib.auth.context_processors.auth",
240 "allauth.account.context_processors.account",
241 "allauth.socialaccount.context_processors.socialaccount",
242)
243
244AUTHENTICATION_BACKENDS = (
245 # Needed to login by username in Django admin, regardless of `allauth`
246 "django.contrib.auth.backends.ModelBackend",
247 # `allauth` specific authentication methods, such as login by e-mail
248 "allauth.account.auth_backends.AuthenticationBackend",
249)
250
251# ==============================================================================
252# EMAIL SETTINGS
253# ==============================================================================
254
255DEFAULT_FROM_EMAIL = 'noreply@agilityportal.sk'
256SERVER_EMAIL = 'noreply@agilityportal.sk'
257EMAIL_HOST = 'mail.agilityportal.sk'
258EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
259EMAIL_PORT = 25
260EMAIL_USE_TLS = True
261
262# ==============================================================================
263# ALLAUTH SETTINGS
264# ==============================================================================
265
266AUTH_USER_MODEL = 'users.User'
267ACCOUNT_LOGOUT_REDIRECT_URL = 'homepage'
268LOGIN_REDIRECT_URL = 'user_profile'
269ACCOUNT_ADAPTER = 'users.adapter.MyAccountAdapter'
270EMAIL_CONFIRMATION_EXPIRE_DAYS = 2
271ACCOUNT_EMAIL_REQUIRED = True
272PASSWORD_MIN_LENGTH = 4
273SOCIALACCOUNT_AVATAR_SUPPORT = ('avatar' in INSTALLED_APPS)
274
275# ==============================================================================
276# COMPETITION SETTINGS
277# ==============================================================================
278
279DEFAULT_MAX_TEAM_NUMBER_FOR_COMPETITIONS = 100 # maximalny pocet timov
280DEFAULT_FIRST_VARIABLE_SYMBOL = 100 # prvy variabilny symbol, ktory sa prideli prvej registracii
281DEFAULT_COMPETITIONS_PRICE = 20 # suma startovneho
282DEFAULT_COMPETITIONS_DAY_PRICE = 10 # suma startovneho na jeden den
283
284# ==============================================================================
285# Sentry SETTINGS
286# ==============================================================================
287
288# Set your DSN value
289RAVEN_CONFIG = {
290 'dsn': 'http://76090c510f2e41b9af189ca4075a79eb:902bd5b927e34da4a19b6fe358395260@sentry.phonkee.eu/17',
291}
292
293# ==============================================================================
294# Django rest framework settings
295# ==============================================================================
296
297REST_FRAMEWORK = {
298 'DEFAULT_AUTHENTICATION_CLASSES': (
299 'rest_framework.authentication.BasicAuthentication',
300 #'rest_framework.authentication.SessionAuthentication',
301 )
302}
303
304# ==============================================================================
305# Celery settings
306# ==============================================================================
307
308BROKER_URL = 'amqp://guest:guest@localhost:5672//'
309
310CELERY_ACCEPT_CONTENT = ['json']
311CELERY_TASK_SERIALIZER = 'json'
312CELERY_RESULT_SERIALIZER = 'json'
313CELERY_ACKS_LATE = True
314CELERYD_MAX_TASKS_PER_CHILD = 1000
315
316CELERY_RESULT_BACKEND = 'redis://127.0.0.1/1'
317CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'