· 7 years ago · Dec 25, 2018, 05:28 PM
1AttributeError at /api/v1/order/voucher/set/
2'NoneType' object has no attribute 'voucher'
3
4Request Method: PUT
5Request URL: https://emozzi.web-case.com.ua/api/v1/order/voucher/set/
6Django Version: 2.0.4
7Python Executable: /home/django/Emozzi/Emozzi/server/.venv/bin/python3.6m
8Python Version: 3.6.5
9Python Path: ['/home/django/Emozzi/Emozzi/server', '/home/django/Emozzi/Emozzi/server/.venv/bin', '/home/django/Emozzi/Emozzi/server/.venv/lib/python36.zip', '/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6', '/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/lib-dynload', '/usr/lib/python3.6', '/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages', '/home/django/Emozzi/Emozzi', '/home/django/Emozzi/Emozzi/server', '/home/django/Emozzi/Emozzi/server/app', '/home/django/Emozzi/Emozzi/server', '/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/odf', '/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/odf', '/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/odf', '/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/odf', '/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/odf', '/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/odf', '/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/odf']
10Server time: Вт, 25 Дек 2018 19:24:41 +0200
11Installed Applications:
12['markup',
13 'apps.analytics',
14 'apps.cart',
15 'apps.crm',
16 'apps.discount',
17 'apps.feedback',
18 'apps.like',
19 'apps.mailer',
20 'apps.menu',
21 'apps.novaposhta',
22 'apps.order',
23 'apps.pages',
24 'apps.post',
25 'apps.review',
26 'apps.search',
27 'apps.staff',
28 'apps.storage',
29 'apps.store',
30 'apps.tag',
31 'adminsortable2',
32 'constance',
33 'constance.backends.database',
34 'captcha',
35 'des',
36 'django_admin_lightweight_date_hierarchy',
37 'django_filters',
38 'django_mptt_admin',
39 'django_jinja',
40 'easy_thumbnails',
41 'filebrowser',
42 'jet',
43 'import_export',
44 'mptt',
45 'parler',
46 'rangefilter',
47 'robots',
48 'rest_framework',
49 'rest_framework_recursive',
50 'rest_framework_swagger',
51 'rosetta',
52 'social_django',
53 'tinymce',
54 'versatileimagefield',
55 'vuejs_translate',
56 'wkhtmltopdf',
57 'django.contrib.admin',
58 'django.contrib.auth',
59 'django.contrib.contenttypes',
60 'django.contrib.sessions',
61 'django.contrib.messages',
62 'django.contrib.staticfiles',
63 'django.contrib.sitemaps',
64 'django.contrib.sites',
65 'django.contrib.postgres']
66Installed Middleware:
67['django.middleware.security.SecurityMiddleware',
68 'django.contrib.sessions.middleware.SessionMiddleware',
69 'django.middleware.locale.LocaleMiddleware',
70 'django.middleware.common.CommonMiddleware',
71 'django.middleware.csrf.CsrfViewMiddleware',
72 'django.views.decorators.csrf._EnsureCsrfCookie',
73 'django.contrib.auth.middleware.AuthenticationMiddleware',
74 'django.contrib.messages.middleware.MessageMiddleware',
75 'social_django.middleware.SocialAuthExceptionMiddleware',
76 'apps.staff.middleware.default_language_redirect',
77 'apps.staff.middleware.extra_slashes_redirect',
78 'apps.staff.middleware.uppercase_url_redirect',
79 'apps.staff.middleware.paginated_page_redirect',
80 'apps.staff.middleware.set_user_language']
81
82
83Traceback:
84
85File "/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
86 35. response = get_response(request)
87
88File "/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
89 128. response = self.process_exception_by_middleware(e, request)
90
91File "/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
92 126. response = wrapped_callback(request, *callback_args, **callback_kwargs)
93
94File "/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/django/views/decorators/csrf.py" in wrapped_view
95 54. return view_func(*args, **kwargs)
96
97File "/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/django/views/generic/base.py" in view
98 69. return self.dispatch(request, *args, **kwargs)
99
100File "/home/django/Emozzi/Emozzi/server/shared/rest/mixins.py" in dispatch
101 25. return super().dispatch(request, *args, **kwargs)
102
103File "/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
104 483. response = self.handle_exception(exc)
105
106File "/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/rest_framework/views.py" in handle_exception
107 443. self.raise_uncaught_exception(exc)
108
109File "/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
110 480. response = handler(request, *args, **kwargs)
111
112File "/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/rest_framework/generics.py" in put
113 228. return self.update(request, *args, **kwargs)
114
115File "/home/django/Emozzi/Emozzi/server/shared/rest/views.py" in update
116 65. if serializer.is_valid():
117
118File "/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/rest_framework/serializers.py" in is_valid
119 236. self._validated_data = self.run_validation(self.initial_data)
120
121File "/home/django/Emozzi/Emozzi/server/.venv/lib/python3.6/site-packages/rest_framework/serializers.py" in run_validation
122 437. value = self.validate(value)
123
124File "/home/django/Emozzi/Emozzi/server/apps/order/api/serializers/process.py" in validate
125 200. if self.instance.voucher:
126
127Exception Type: AttributeError at /api/v1/order/voucher/set/
128Exception Value: 'NoneType' object has no attribute 'voucher'
129Request information:
130USER: Диллер: stass3939@gmail.com
131
132GET: No GET data
133
134POST: No POST data
135
136FILES: No FILES data
137
138COOKIES:
139jv_visits_count_6BbTrUuvuG = '1'
140biatv-cookie = '{%22firstVisitAt%22:1544203828%2C%22visitsCount%22:1%2C%22campaignCount%22:1%2C%22currentVisitStartedAt%22:1544203828%2C%22currentVisitLandingPage%22:%22https://emozzi.web-case.com.ua/%22%2C%22currentVisitOpenPages%22:4%2C%22location%22:%22https://emozzi.web-case.com.ua/emotions/%22%2C%22userAgent%22:%22Mozilla/5.0%20(X11%3B%20Linux%20x86_64)%20AppleWebKit/537.36%20(KHTML%2C%20like%20Gecko)%20Chrome/72.0.3595.2%20Safari/537.36%22%2C%22language%22:%22ru-ru%22%2C%22encoding%22:%22utf-8%22%2C%22screenResolution%22:%221920x1080%22%2C%22currentVisitUpdatedAt%22:1544203894%2C%22utmDataCurrent%22:{%22utm_source%22:%22(direct)%22%2C%22utm_medium%22:%22(none)%22%2C%22utm_campaign%22:%22(direct)%22%2C%22utm_content%22:%22(not%20set)%22%2C%22utm_term%22:%22(not%20set)%22%2C%22beginning_at%22:1544203828}%2C%22campaignTime%22:1544203828%2C%22utmDataFirst%22:{%22utm_source%22:%22(direct)%22%2C%22utm_medium%22:%22(none)%22%2C%22utm_campaign%22:%22(direct)%22%2C%22utm_content%22:%22(not%20set)%22%2C%22utm_term%22:%22(not%20set)%22%2C%22beginning_at%22:1544203828}%2C%22geoipData%22:{%22country%22:%22Ukraine%22%2C%22region%22:%22%22%2C%22city%22:%22%22%2C%22org%22:%22TOV%20BF%20Express%20Ltd%22}}'
141abandoned = 'true'
142cart = '524c3f11-0e68-48e8-8002-27213ef7a860:1gbq1G:DK0DUJyG1Ac5hr5aRzpQFqYp-Yc'
143csrftoken = 'HFL5FoNl4PAX7fXnnj03JRE4xbnHMRspAVFnmiD9pHYHadpMbIObr6nokMlP8uwt'
144sessionid = '3znrksoes4at8zbsfljrtlfvl1kbx1yf'
145
146META:
147CONTENT_LENGTH = '396'
148CONTENT_TYPE = 'application/json;charset=UTF-8'
149CSRF_COOKIE = 'HFL5FoNl4PAX7fXnnj03JRE4xbnHMRspAVFnmiD9pHYHadpMbIObr6nokMlP8uwt'
150CSRF_COOKIE_USED = True
151HTTP_ACCEPT = 'application/json, text/plain, */*'
152HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
153HTTP_ACCEPT_LANGUAGE = 'ru'
154HTTP_CACHE_CONTROL = 'no-cache'
155HTTP_CONNECTION = 'close'
156HTTP_COOKIE = 'jv_visits_count_6BbTrUuvuG=1; biatv-cookie={%22firstVisitAt%22:1544203828%2C%22visitsCount%22:1%2C%22campaignCount%22:1%2C%22currentVisitStartedAt%22:1544203828%2C%22currentVisitLandingPage%22:%22https://emozzi.web-case.com.ua/%22%2C%22currentVisitOpenPages%22:4%2C%22location%22:%22https://emozzi.web-case.com.ua/emotions/%22%2C%22userAgent%22:%22Mozilla/5.0%20(X11%3B%20Linux%20x86_64)%20AppleWebKit/537.36%20(KHTML%2C%20like%20Gecko)%20Chrome/72.0.3595.2%20Safari/537.36%22%2C%22language%22:%22ru-ru%22%2C%22encoding%22:%22utf-8%22%2C%22screenResolution%22:%221920x1080%22%2C%22currentVisitUpdatedAt%22:1544203894%2C%22utmDataCurrent%22:{%22utm_source%22:%22(direct)%22%2C%22utm_medium%22:%22(none)%22%2C%22utm_campaign%22:%22(direct)%22%2C%22utm_content%22:%22(not%20set)%22%2C%22utm_term%22:%22(not%20set)%22%2C%22beginning_at%22:1544203828}%2C%22campaignTime%22:1544203828%2C%22utmDataFirst%22:{%22utm_source%22:%22(direct)%22%2C%22utm_medium%22:%22(none)%22%2C%22utm_campaign%22:%22(direct)%22%2C%22utm_content%22:%22(not%20set)%22%2C%22utm_term%22:%22(not%20set)%22%2C%22beginning_at%22:1544203828}%2C%22geoipData%22:{%22country%22:%22Ukraine%22%2C%22region%22:%22%22%2C%22city%22:%22%22%2C%22org%22:%22TOV%20BF%20Express%20Ltd%22}}; abandoned=true; cart=524c3f11-0e68-48e8-8002-27213ef7a860:1gbq1G:DK0DUJyG1Ac5hr5aRzpQFqYp-Yc; csrftoken=HFL5FoNl4PAX7fXnnj03JRE4xbnHMRspAVFnmiD9pHYHadpMbIObr6nokMlP8uwt; sessionid=3znrksoes4at8zbsfljrtlfvl1kbx1yf'
157HTTP_HOST = 'emozzi.web-case.com.ua'
158HTTP_ORIGIN = 'https://emozzi.web-case.com.ua'
159HTTP_PRAGMA = 'no-cache'
160HTTP_REFERER = 'https://emozzi.web-case.com.ua/order/update/251218-003/'
161HTTP_USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3642.0 Safari/537.36'
162HTTP_X_CSRFTOKEN = 'HFL5FoNl4PAX7fXnnj03JRE4xbnHMRspAVFnmiD9pHYHadpMbIObr6nokMlP8uwt'
163HTTP_X_FORWARDED_FOR = '185.248.130.27'
164HTTP_X_FORWARDED_PROTO = 'https'
165HTTP_X_REQUESTED_WITH = 'XMLHttpRequest'
166PATH_INFO = '/api/v1/order/voucher/set/'
167QUERY_STRING = ''
168RAW_URI = '/api/v1/order/voucher/set/'
169REMOTE_ADDR = ''
170REQUEST_METHOD = 'PUT'
171SCRIPT_NAME = ''
172SERVER_NAME = 'emozzi.web-case.com.ua'
173SERVER_PORT = '443'
174SERVER_PROTOCOL = 'HTTP/1.0'
175SERVER_SOFTWARE = 'gunicorn/19.9.0'
176gunicorn.socket = <gevent._socket3.socket object, fd=16, family=1, type=2049, proto=0>
177wsgi.errors = <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f77bf575f28>
178wsgi.file_wrapper = ''
179wsgi.input = <gunicorn.http.body.Body object at 0x7f77bf575b70>
180wsgi.multiprocess = False
181wsgi.multithread = True
182wsgi.run_once = False
183wsgi.url_scheme = 'https'
184wsgi.version = '(1, 0)'
185
186Settings:
187Using settings module app.settings
188ABSOLUTE_URL_OVERRIDES = {}
189ADMINS = [('Oleg', 'dk.sky.angel@mail.ru')]
190ALLOWED_HOSTS = ['165.227.168.162', '139.59.137.221', 'emozzi.web-case.com.ua', 'https://emozzi.web-case.com.ua.com', 'https://www.emozzi.web-case.com.ua/', 'www.emozzi.web-case.com.ua']
191API_VERSION = '********************'
192APPEND_SLASH = True
193AUTHENTICATION_BACKENDS = "('social_core.backends.facebook.FacebookOAuth2', 'social_core.backends.google.GoogleOAuth2', 'django.contrib.auth.backends.ModelBackend', 'shared.backends.auth.email.EmailBackend')"
194AUTH_PASSWORD_VALIDATORS = '********************'
195AUTH_USER_MODEL = 'staff.User'
196BASE_DIR = PosixPath('/home/django/Emozzi/Emozzi/server/app/settings/default.py')
197BASE_ROOT = PosixPath('/home/django/Emozzi/Emozzi/server/app')
198CACHES = {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://127.0.0.1:6379/1', 'TIMEOUT': 3600, 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient'}}}
199CACHE_MIDDLEWARE_ALIAS = 'default'
200CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
201CACHE_MIDDLEWARE_SECONDS = 600
202CACHE_PAGE_TTL = 3600
203CACHE_TTL = 3600
204CARTABLE_MODELS = ['emotion', 'product', 'set', 'handmade']
205CELERY_ACCEPT_CONTENT = ['application/json']
206CELERY_BROKER_URL = 'redis://localhost:6379/1'
207CELERY_RESULT_BACKEND = 'redis://localhost:6379'
208CELERY_RESULT_SERIALIZER = 'json'
209CELERY_TASK_SERIALIZER = 'json'
210CELERY_TIMEZONE = 'Europe/Kiev'
211CERTIFICATEABLE_MODELS = ['emotion', 'set', 'handmade']
212CONSTANCE_ADDITIONAL_FIELDS = {'email_field': [<class 'django.forms.fields.EmailField'>, {}], 'rich': [<class 'django.forms.fields.CharField'>, {'widget': <tinymce.widgets.TinyMCE object at 0x7f77c6b45b38>}], 'image_field': [<class 'django.forms.fields.ImageField'>, {}]}
213CONSTANCE_BACKEND = 'constance.backends.database.DatabaseBackend'
214CONSTANCE_CONFIG = {'ADMIN_EMAIL': ('admin@admin.com', 'Ð-мейл админиÑтратора', 'email_field'), 'LOGO_UK': ('', 'UK logo', 'image_field'), 'LOGO_RU': ('', 'RU logo', 'image_field'), 'LOGO_MOBILE': ('', 'Mobile logo', 'image_field'), 'VISA': ('', 'Visa image', 'image_field'), 'MASTER_CARD': ('', 'MasterCard image', 'image_field'), 'OFFERS_PAGE_LINK': ('/page/', 'Страница оферты', <class 'str'>), 'SITE_RULES_PAGE_LINK': ('/page/', 'Правила иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñайта', <class 'str'>), 'REVIEWS_MODERATOR_EMAIL': ('admin@admin.com', 'Ð-мейл модератора отзывов', 'email_field'), 'PHONES': ('+380502222222, +380501111111', 'Телефоны, разделенные запÑтой', <class 'str'>), 'STORE_SLIDER_LIMIT': (10, 'Ограничение на кол-во отображаемых фото в Ñлайдере Ð´Ð»Ñ Ñмоций, наборов и товаров', <class 'int'>), 'PAYMENT_DETAILS': ('Реквизиты', 'Реквизиты Ð´Ð»Ñ Ð¾Ð¿Ð»Ð°Ñ‚Ñ‹', <class 'str'>), 'PAYMENT_RECIPIENT_EMAIL': ('emotions_payment@mail.com', 'Получатель оплаты от Ñмоций', <class 'str'>), 'RELATED_ELEMENT_PRICE': (Decimal('0.01'), 'Ð¦ÐµÐ½Ñ ÑвÑзанного Ñлемента Ð´Ð»Ñ ÐºÐ¾Ñ€Ð·Ð¸Ð½Ñ‹', <class 'decimal.Decimal'>), 'DEALER_DEFAULT_COMMISSION': (Decimal('5.00'), 'КомиÑÑÐ¸Ñ Ð´Ð¸Ð»Ð»ÐµÑ€Ð° за заказ (%)', <class 'decimal.Decimal'>), 'CERTIFICATE_EXPIRATION_DAYS': (180, 'Кол-во дней Ñрока дейÑÑ‚Ð²Ð¸Ñ Ñертификата', <class 'int'>), 'CERTIFICATE_DUMMY_USER': ('dummy@certificate.com', 'E-mail Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿Ð¾ умолчанию Ð´Ð»Ñ Ñертификата', <class 'str'>), 'CERTIFICATE_REMINDER_DAYS': (2, 'Кол-во дней Ñрока дейÑÑ‚Ð²Ð¸Ñ Ñертификата', <class 'int'>), 'LIQPAY_EXPIRED_DAYS': (3, 'Кол-во дней до отмены Ñертификата', <class 'int'>), 'LIQPAY_PUBLIC_KEY': '********************', 'LIQPAY_PRIVATE_KEY': '********************', 'LIQPAY_SANDBOX_MODE': (True, 'Реквизиты Ð´Ð»Ñ Ð¾Ð¿Ð»Ð°Ñ‚Ñ‹', <class 'bool'>), 'TELEGRAM': ('telegram.com', 'Telegram', <class 'str'>), 'TWITTER': ('twitter.com', 'Twitter', <class 'str'>), 'FACEBOOK': ('facebook.com', 'Facebook', <class 'str'>), 'YOUTUBE': ('youtube.com', 'Youtube', <class 'str'>), 'INSTAGRAM': ('instagram.com', 'Instagram', <class 'str'>), 'GOOGLE': ('google.com', 'Google', <class 'str'>)}
215CONSTANCE_CONFIG_FIELDSETS = {'General Options': ('ADMIN_EMAIL', 'REVIEWS_MODERATOR_EMAIL', 'LOGO_UK', 'LOGO_RU', 'LOGO_MOBILE', 'VISA', 'MASTER_CARD', 'PHONES', 'STORE_SLIDER_LIMIT', 'OFFERS_PAGE_LINK', 'SITE_RULES_PAGE_LINK'), 'Checkout': ('PAYMENT_DETAILS', 'PAYMENT_RECIPIENT_EMAIL', 'RELATED_ELEMENT_PRICE', 'DEALER_DEFAULT_COMMISSION', 'CERTIFICATE_EXPIRATION_DAYS', 'CERTIFICATE_DUMMY_USER', 'CERTIFICATE_REMINDER_DAYS'), 'LiqPay Options': ('LIQPAY_EXPIRED_DAYS', 'LIQPAY_PUBLIC_KEY', 'LIQPAY_PRIVATE_KEY', 'LIQPAY_SANDBOX_MODE'), 'Social Links': ('TELEGRAM', 'TWITTER', 'FACEBOOK', 'YOUTUBE', 'INSTAGRAM', 'GOOGLE')}
216CONSTANCE_DATABASE_CACHE_BACKEND = 'default'
217CSRF_COOKIE_AGE = 31449600
218CSRF_COOKIE_DOMAIN = None
219CSRF_COOKIE_HTTPONLY = False
220CSRF_COOKIE_NAME = 'csrftoken'
221CSRF_COOKIE_PATH = '/'
222CSRF_COOKIE_SECURE = True
223CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
224CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
225CSRF_TRUSTED_ORIGINS = []
226CSRF_USE_SESSIONS = False
227DATABASES = {'default': {'NAME': 'emozzi2', 'USER': 'emozzi', 'PASSWORD': '********************', 'HOST': '127.0.0.1', 'PORT': 5432, 'ENGINE': 'django.db.backends.postgresql', 'CONN_MAX_AGE': 0, 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}, 'crm': {'NAME': 'crm2', 'ENGINE': 'django.db.backends.mysql', 'USER': 'root', 'PASSWORD': '********************', 'HOST': 'localhost', 'PORT': '3306', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
228DATABASE_ROUTERS = ['apps.crm.router.CrmRouter', 'apps.crm.router.DefaultRouter']
229DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
230DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
231DATETIME_FORMAT = 'N j, Y, P'
232DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
233DATE_FORMAT = 'N j, Y'
234DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
235DEBUG = True
236DEBUG_PROPAGATE_EXCEPTIONS = False
237DECIMAL_SEPARATOR = '.'
238DEFAULT_CHARSET = 'utf-8'
239DEFAULT_CONTENT_TYPE = 'text/html'
240DEFAULT_CURRENCY = 'UAH'
241DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
242DEFAULT_EXTENSIONS = ['jinja2.ext.do', 'jinja2.ext.loopcontrols', 'jinja2.ext.with_', 'jinja2.ext.i18n', 'jinja2.ext.autoescape', 'django_jinja.builtins.extensions.CsrfExtension', 'django_jinja.builtins.extensions.CacheExtension', 'django_jinja.builtins.extensions.TimezoneExtension', 'django_jinja.builtins.extensions.UrlsExtension', 'django_jinja.builtins.extensions.StaticFilesExtension', 'django_jinja.builtins.extensions.DjangoFiltersExtension']
243DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
244DEFAULT_FROM_EMAIL = 'webmaster@localhost'
245DEFAULT_INDEX_TABLESPACE = ''
246DEFAULT_RENDERER_CLASSES = "('rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer')"
247DEFAULT_TABLESPACE = ''
248DISALLOWED_USER_AGENTS = []
249EMAIL_BACKEND = 'des.backends.ConfiguredEmailBackend'
250EMAIL_CONFIG = {'EMAIL_FILE_PATH': '', 'EMAIL_HOST_USER': None, 'EMAIL_HOST_PASSWORD': '********************', 'EMAIL_HOST': '127.0.0.1', 'EMAIL_PORT': None, 'EMAIL_BACKEND': 'django.core.mail.backends.console.EmailBackend'}
251EMAIL_FILE_PATH = ''
252EMAIL_HOST = '127.0.0.1'
253EMAIL_HOST_PASSWORD = '********************'
254EMAIL_HOST_USER = None
255EMAIL_PORT = None
256EMAIL_SSL_CERTFILE = None
257EMAIL_SSL_KEYFILE = '********************'
258EMAIL_SUBJECT_PREFIX = '[Django] '
259EMAIL_TIMEOUT = None
260EMAIL_USE_LOCALTIME = False
261EMAIL_USE_SSL = False
262EMAIL_USE_TLS = False
263ENABLE_SSL = True
264FILEBROWSER_DIRECTORY = ''
265FILE_CHARSET = 'utf-8'
266FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
267FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
268FILE_UPLOAD_MAX_MEMORY_SIZE = 5621440
269FILE_UPLOAD_PERMISSIONS = None
270FILE_UPLOAD_TEMP_DIR = None
271FIRST_DAY_OF_WEEK = 0
272FIXTURE_DIRS = []
273FORCE_SCRIPT_NAME = None
274FORMAT_MODULE_PATH = None
275FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
276GRAPH_MODELS = {'all_applications': True, 'group_models': True}
277IGNORABLE_404_URLS = []
278IMAGE_EXTENSIONS = ['jpg', 'png', 'jpeg', 'svg']
279IMPORT_EXPORT_USE_TRANSACTIONS = True
280INSTALLED_APPS = ['markup', 'apps.analytics', 'apps.cart', 'apps.crm', 'apps.discount', 'apps.feedback', 'apps.like', 'apps.mailer', 'apps.menu', 'apps.novaposhta', 'apps.order', 'apps.pages', 'apps.post', 'apps.review', 'apps.search', 'apps.staff', 'apps.storage', 'apps.store', 'apps.tag', 'adminsortable2', 'constance', 'constance.backends.database', 'captcha', 'des', 'django_admin_lightweight_date_hierarchy', 'django_filters', 'django_mptt_admin', 'django_jinja', 'easy_thumbnails', 'filebrowser', 'jet', 'import_export', 'mptt', 'parler', 'rangefilter', 'robots', 'rest_framework', 'rest_framework_recursive', 'rest_framework_swagger', 'rosetta', 'social_django', 'tinymce', 'versatileimagefield', 'vuejs_translate', 'wkhtmltopdf', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sitemaps', 'django.contrib.sites', 'django.contrib.postgres']
281INTERNAL_IPS = []
282LANGUAGES = "(('ru', 'РуÑÑкий'), ('uk', 'УкраинÑкий'))"
283LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
284LANGUAGE_CODE = 'ru'
285LANGUAGE_COOKIE_AGE = None
286LANGUAGE_COOKIE_DOMAIN = None
287LANGUAGE_COOKIE_NAME = 'django_language'
288LANGUAGE_COOKIE_PATH = '/'
289LIKEABLE_MODELS = ['emotion', 'set']
290LIQPAY_PRIVATE_KEY = '********************'
291LIQPAY_PUBLIC_KEY = '********************'
292LOCALE_PATHS = "(PosixPath('/home/django/Emozzi/Emozzi/server/app/locale'),)"
293LOGGING = {}
294LOGGING_CONFIG = 'logging.config.dictConfig'
295LOGIN_ERROR_URL = '/'
296LOGIN_REDIRECT_URL = '/user/profile/'
297LOGIN_URL = '/'
298LOGOUT_REDIRECT_URL = '/'
299MAIL_INSTANT_SEND = False
300MAIL_TEMPLATE_CHOICES = Choices(('registration', 'registration', 'Registration'), ('social_registration', 'social_registration', 'Social Registration'), ('password_reset', 'password_reset', 'ВоÑÑтановление паролÑ'), ('update_password', 'update_password', 'Password update'), ('feedback', 'feedback', 'Feedback'), ('review_moderation', 'review_moderation', 'Review moderation'), ('review_approved', 'review_approved', 'Review approved'), ('order_created', 'order_created', 'Order created'), ('order_created_admin', 'order_created_admin', 'Order created admin'), ('payment_confirmed', 'payment_confirmed', 'Payment confirmed'), ('e_certificate', 'e_certificate', 'E-Certificate'), ('waiting_activation', 'waiting_activation', 'Waiting certificate activation'), ('waiting_activation_admin', 'waiting_activation_admin', 'Waiting certificate activation admin'), ('confirmed_activation', 'confirmed_activation', 'Confirmed activation'), ('booking_reminder', 'booking_reminder', 'Booking reminder'))
301MAIL_TEMPLATE_CONTEXT = {'registration': {'email': 'User email', 'username': 'User username', 'activation_link': 'Account activation url', 'site_name': 'Website name'}, 'social_registration': {'email': 'User email', 'password': '********************'}, 'password_reset': '********************', 'update_password': '********************', 'feedback': {'name': 'User name', 'email': 'User email', 'phone': 'User phone', 'message': 'User question'}, 'review_moderation': {'email': 'User email', 'review': 'Review instance', 'url': 'Review admin url'}, 'review_approved': {'title': 'Object title', 'url': 'Object url'}, 'order_created': {'order': 'ПорÑдок', 'email': 'User email', 'payment_details': 'Payment details'}, 'order_created_admin': {'order': 'ПорÑдок', 'email': 'User email', 'payment_details': 'Payment details', 'order_admin_link': 'Order admin link'}, 'payment_confirmed': {'order': 'ПорÑдок'}, 'e_certificate': {'order': 'ПорÑдок', 'email': 'User email'}, 'waiting_activation': {'line': 'Line'}, 'waiting_activation_admin': {'url': 'Url', 'line': 'Line'}, 'confirmed_activation': {'line': 'Line'}, 'booking_reminder': {'line': 'Line'}}
302MANAGERS = []
303MEDIA_ROOT = '/home/django/Emozzi/Emozzi/server/app/uploads'
304MEDIA_URL = '/uploads/'
305MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
306MIDDLEWARE = ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.views.decorators.csrf._EnsureCsrfCookie', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'social_django.middleware.SocialAuthExceptionMiddleware', 'apps.staff.middleware.default_language_redirect', 'apps.staff.middleware.extra_slashes_redirect', 'apps.staff.middleware.uppercase_url_redirect', 'apps.staff.middleware.paginated_page_redirect', 'apps.staff.middleware.set_user_language']
307MIGRATION_MODULES = {}
308MONTH_DAY_FORMAT = 'F j'
309NOCAPTCHA = True
310NOVA_POSHTA_API_KEY = '********************'
311NUMBER_GROUPING = 0
312PAGINATE_BY = 12
313PARLER_LANGUAGES = {1: ({'code': 'ru', 'hide_untranslated': False, 'fallbacks': ['ru']}, {'code': 'uk', 'hide_untranslated': False, 'fallbacks': ['ru']}), 'default': {'hide_untranslated': False, 'code': 'ru', 'fallbacks': ['ru']}}
314PASSWORD_HASHERS = '********************'
315PASSWORD_RESET_TIMEOUT_DAYS = '********************'
316PLACEHOLDER_IMAGES = {60: 'images/placeholder60x60.png', 120: 'images/placeholder120x120.png', 255: 'images/placeholder255x255.png', 540: 'images/placeholder540x540.png', 1080: 'images/placeholder1080x1080.png'}
317PREPEND_WWW = False
318PROJECT_APPS = ['markup', 'apps.analytics', 'apps.cart', 'apps.crm', 'apps.discount', 'apps.feedback', 'apps.like', 'apps.mailer', 'apps.menu', 'apps.novaposhta', 'apps.order', 'apps.pages', 'apps.post', 'apps.review', 'apps.search', 'apps.staff', 'apps.storage', 'apps.store', 'apps.tag']
319READ_DOT_ENV_FILE = True
320RECAPTCHA_PRIVATE_KEY = '********************'
321RECAPTCHA_PUBLIC_KEY = '********************'
322REST_FRAMEWORK = {'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer')}
323REVIEWABLE_MODELS = ['emotion', 'set', 'post']
324ROBOTS_SITEMAP_VIEW_NAME = 'sitemap'
325ROBOTS_USE_SCHEME_IN_HOST = True
326ROOT_URLCONF = 'app.urls'
327ROSETTA_MESSAGES_PER_PAGE = 10
328ROSETTA_SHOW_AT_ADMIN_PANEL = True
329SECRET_KEY = '********************'
330SECURE_BROWSER_XSS_FILTER = False
331SECURE_CONTENT_TYPE_NOSNIFF = False
332SECURE_HSTS_INCLUDE_SUBDOMAINS = False
333SECURE_HSTS_PRELOAD = False
334SECURE_HSTS_SECONDS = 0
335SECURE_PROXY_SSL_HEADER = "('HTTP_X_FORWARDED_PROTO', 'https')"
336SECURE_REDIRECT_EXEMPT = []
337SECURE_SSL_HOST = None
338SECURE_SSL_REDIRECT = False
339SERVER_EMAIL = 'root@localhost'
340SESSION_CACHE_ALIAS = 'default'
341SESSION_COOKIE_AGE = 1209600
342SESSION_COOKIE_DOMAIN = None
343SESSION_COOKIE_HTTPONLY = True
344SESSION_COOKIE_NAME = 'sessionid'
345SESSION_COOKIE_PATH = '/'
346SESSION_COOKIE_SECURE = True
347SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
348SESSION_EXPIRE_AT_BROWSER_CLOSE = False
349SESSION_FILE_PATH = None
350SESSION_SAVE_EVERY_REQUEST = False
351SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
352SETTINGS_MODULE = 'app.settings'
353SHORT_DATETIME_FORMAT = 'm/d/Y P'
354SHORT_DATE_FORMAT = 'm/d/Y'
355SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
356SILENCED_SYSTEM_CHECKS = []
357SITE_ID = 1
358SOCIAL_AUTH_FACEBOOK_API_VERSION = '********************'
359SOCIAL_AUTH_FACEBOOK_KEY = '********************'
360SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = {'locale': 'ru_RU', 'fields': 'id, name, email, age_range'}
361SOCIAL_AUTH_FACEBOOK_SCOPE = ['email']
362SOCIAL_AUTH_FACEBOOK_SECRET = '********************'
363SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = '********************'
364SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = ['email']
365SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = '********************'
366SOCIAL_AUTH_PIPELINE = "('social_core.pipeline.social_auth.social_details', 'social_core.pipeline.social_auth.social_uid', 'social_core.pipeline.social_auth.auth_allowed', 'social_core.pipeline.social_auth.social_user', 'social_core.pipeline.user.get_username', 'social_core.pipeline.social_auth.associate_by_email', 'social_core.pipeline.user.create_user', 'social_core.pipeline.social_auth.associate_user', 'social_core.pipeline.social_auth.load_extra_data', 'social_core.pipeline.user.user_details', 'apps.staff.utils.get_avatar', 'apps.staff.utils.set_password')"
367SOCIAL_AUTH_POSTGRES_JSONFIELD = True
368SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL = True
369STATICFILES_DIRS = []
370STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
371STATICFILES_STORAGE = 'markup.storages.DjsManifestStaticFilesStorage'
372STATIC_ROOT = '/home/django/Emozzi/Emozzi/server/app/static'
373STATIC_URL = '/static/'
374TEMPLATES = [{'BACKEND': 'django_jinja.backend.Jinja2', 'NAME': 'jinja2', 'APP_DIRS': True, 'DIRS': [], 'OPTIONS': {'environment': 'shared.env_jinja.jinja2.environment', 'match_extension': '.jinja', 'newstyle_gettext': True, 'auto_reload': True, 'undefined': <class 'jinja2.runtime.Undefined'>, 'debug': True, 'filters': {}, 'globals': {}, 'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages', 'constance.context_processors.config', 'social_django.context_processors.backends', 'social_django.context_processors.login_redirect', 'apps.pages.context_processors.tips'], 'extensions': ['jinja2.ext.do', 'jinja2.ext.loopcontrols', 'jinja2.ext.with_', 'jinja2.ext.i18n', 'jinja2.ext.autoescape', 'django_jinja.builtins.extensions.CsrfExtension', 'django_jinja.builtins.extensions.CacheExtension', 'django_jinja.builtins.extensions.TimezoneExtension', 'django_jinja.builtins.extensions.UrlsExtension', 'django_jinja.builtins.extensions.StaticFilesExtension', 'django_jinja.builtins.extensions.DjangoFiltersExtension'], 'bytecode_cache': {'name': 'default', 'backend': 'django_jinja.cache.BytecodeCache', 'enabled': False}}}, {'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.messages.context_processors.messages', 'django.contrib.auth.context_processors.auth', 'constance.context_processors.config', 'social_django.context_processors.backends', 'social_django.context_processors.login_redirect', 'apps.pages.context_processors.tips']}}]
375TEST_NON_SERIALIZED_APPS = []
376TEST_RUNNER = 'django.test.runner.DiscoverRunner'
377THOUSAND_SEPARATOR = ' '
378TIME_FORMAT = 'P'
379TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
380TIME_ZONE = 'Europe/Kiev'
381TINYMCE_DEFAULT_CONFIG = {'selector': 'textarea', 'theme': 'modern', 'plugins': 'link image imagetools media preview fullscreen codesample contextmenu table code insertdatetime anchor searchreplace textcolor wordcount visualblocks lists', 'toolbar1': 'fontsizeselect bold italic underline | alignleft aligncenter alignright alignjustify | bullist numlist | outdent indent | table | link image media anchor | codesample |preview code | forecolor backcolor', 'contextmenu': 'formats | link image media ', 'menubar': True, 'inline': False, 'statusbar': True, 'height': 500, 'width': 'auto', 'wordcount_cleanregex': '/ [0 - 9.(),;:!? %