Fix missing custom PDF link
[wolnelektury.git] / src / wolnelektury / settings / basic.py
1 # This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
2 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
3 #
4 import os
5
6 DEBUG = os.environ.get('DEBUG', '')
7 SECRET_KEY = os.environ.get('SECRET_KEY', None)
8
9 ADMINS = [
10     # ('Your Name', 'your_email@domain.com'),
11 ]
12
13 MANAGERS = ADMINS
14
15 CONTACT_EMAIL = 'fundacja@wolnelektury.pl'
16
17 ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS', '').split()
18
19 AUTH_PASSWORD_VALIDATORS = [
20     {
21         "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
22     },
23     {
24         "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
25         "OPTIONS": {
26             "min_length": 6,
27         },
28     },
29     {
30         "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",
31     },
32     {
33         "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",
34     },
35 ]
36
37 CACHE_MIDDLEWARE_SECONDS = 3 * 60
38
39 CACHES = {
40     'default': {
41         'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache',
42         'TIMEOUT': 180,
43         'LOCATION': [
44             'memcached:11211',
45         ],
46         'OPTIONS': {
47             "no_delay": True,
48             "ignore_exc": True,       # treat memcached errors as cache misses
49             "max_pool_size": 4,
50             "use_pooling": True,
51         },
52     },
53     'template_fragments': {
54         'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache',
55         'TIMEOUT': 86400,
56         'LOCATION': [
57             'memcached:11211',
58         ],
59         'OPTIONS': {
60             "no_delay": True,
61             "ignore_exc": True,       # treat memcached errors as cache misses
62             "max_pool_size": 4,
63             "use_pooling": True,
64         },
65     },
66 }
67
68 DATABASES = {
69     'default': {
70         'ENGINE': 'django.db.backends.postgresql',
71         'HOST': 'db',
72         'USER': os.environ.get('POSTGRES_USER'),
73         'PASSWORD': os.environ.get('POSTGRES_PASSWORD'),
74         'NAME': os.environ.get('POSTGRES_USER'),
75     }
76 }
77
78 DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
79
80 # Local time zone for this installation. Choices can be found here:
81 # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
82 # although not all choices may be available on all operating systems.
83 # If running in a Windows environment this must be set to the same as your
84 # system time zone.
85 TIME_ZONE = 'Europe/Warsaw'
86 USE_TZ = True
87
88 SITE_ID = 1
89
90 TEMPLATES = [{
91     'BACKEND': 'django.template.backends.django.DjangoTemplates',
92     'APP_DIRS': True,
93     'OPTIONS': {
94         'context_processors': (
95             'django.contrib.auth.context_processors.auth',
96             'django.contrib.messages.context_processors.messages',
97             'django.template.context_processors.debug',
98             'django.template.context_processors.i18n',
99             'django.template.context_processors.media',
100             'django.template.context_processors.request',
101             'wolnelektury.context_processors.extra_settings',
102         ),
103     },
104 }]
105
106 MIDDLEWARE = [
107     'debug_toolbar.middleware.DebugToolbarMiddleware',
108     'django.middleware.csrf.CsrfViewMiddleware',
109     'django.middleware.cache.UpdateCacheMiddleware',
110     'django.middleware.common.CommonMiddleware',
111     'django.contrib.sessions.middleware.SessionMiddleware',
112     'django.contrib.auth.middleware.AuthenticationMiddleware',
113     'django.contrib.admindocs.middleware.XViewMiddleware',
114     'fnp_django_pagination.middleware.PaginationMiddleware',
115     'django.middleware.locale.LocaleMiddleware',
116     'django.middleware.common.CommonMiddleware',
117     'django.contrib.messages.middleware.MessageMiddleware',
118     'fnpdjango.middleware.SetRemoteAddrFromXRealIP',
119     'django.middleware.cache.FetchFromCacheMiddleware',
120     'experiments.middleware.experiments_middleware',
121 ]
122
123 ROOT_URLCONF = 'wolnelektury.urls'
124
125 FILE_UPLOAD_PERMISSIONS = 0o640