· 4 years ago · Apr 19, 2021, 08:18 AM
1AttributeError at /api/v1/forecast/list/
2Got AttributeError when attempting to get a value for field `sport` on serializer `ForecastListSerializer`.
3The serializer field might be named incorrectly and not match any attribute or key on the `Forecast` instance.
4Original exception text was: 'Forecast' object has no attribute 'kind_of_sport'.
5
6Request Method: GET
7Request URL: https://mytopbet.com/api/v1/forecast/list/
8Django Version: 3.0.10
9Python Executable: /home/topbet/topbet/topbet/server/.venv/bin/python3.7
10Python Version: 3.7.5
11Python Path: ['/home/topbet/topbet/topbet/server', '/home/topbet/topbet/topbet/server', '/home/topbet/topbet/topbet/server/.venv/bin', '/home/topbet/topbet/topbet/server/.venv/lib/python37.zip', '/home/topbet/topbet/topbet/server/.venv/lib/python3.7', '/home/topbet/topbet/topbet/server/.venv/lib/python3.7/lib-dynload', '/usr/lib/python3.7', '/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages']
12Server time: Пн, 19 Кві 2021 11:11:09 +0300
13Installed Applications:
14['markup',
15 'shared',
16 'apps.academy',
17 'apps.adds',
18 'apps.bots',
19 'apps.bookmakers',
20 'apps.chat',
21 'apps.common',
22 'apps.faq',
23 'apps.forecasts',
24 'apps.handling',
25 'apps.messengers',
26 'apps.organization',
27 'apps.pages',
28 'apps.payments',
29 'apps.security',
30 'apps.staff',
31 'apps.stats',
32 'admin_auto_filters',
33 'adminsortable2',
34 'ckeditor',
35 'ckeditor_uploader',
36 'des',
37 'django_filters',
38 'django_jinja',
39 'jet',
40 'modeltranslation',
41 'parler',
42 'postie',
43 'rest_framework',
44 'rest_framework.authtoken',
45 'rest_framework_recaptcha',
46 'robots',
47 'rosetta',
48 'script_pattern',
49 'seo',
50 'solo',
51 'standards',
52 'subdomains',
53 'vuejs_translate',
54 'django.contrib.admin',
55 'django.contrib.auth',
56 'django.contrib.contenttypes',
57 'qsessions',
58 'django.contrib.messages',
59 'django.contrib.staticfiles',
60 'django.contrib.sites',
61 'allauth',
62 'allauth.account',
63 'allauth.socialaccount',
64 'allauth.socialaccount.providers.google',
65 'allauth.socialaccount.providers.facebook',
66 'allauth.socialaccount.providers.twitter',
67 'rest_auth',
68 'rest_auth.registration',
69 'django_otp',
70 'django_otp.plugins.otp_totp',
71 'django_otp.plugins.otp_email']
72Installed Middleware:
73['django.middleware.security.SecurityMiddleware',
74 'qsessions.middleware.SessionMiddleware',
75 'subdomains.middleware.SubdomainMiddleware',
76 'django.middleware.common.CommonMiddleware',
77 'django.middleware.csrf.CsrfViewMiddleware',
78 'django.middleware.locale.LocaleMiddleware',
79 'django.contrib.auth.middleware.AuthenticationMiddleware',
80 'django_otp.middleware.OTPMiddleware',
81 'django.contrib.messages.middleware.MessageMiddleware',
82 'django.middleware.clickjacking.XFrameOptionsMiddleware',
83 'seo.middleware.url_seo_middleware',
84 'apps.staff.middlewares.SubdomainUserMiddleware']
85
86
87Traceback (most recent call last):
88 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/rest_framework/fields.py", line 457, in get_attribute
89 return get_attribute(instance, self.source_attrs)
90 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/rest_framework/fields.py", line 97, in get_attribute
91 instance = getattr(instance, attr)
92
93During handling of the above exception ('Forecast' object has no attribute 'kind_of_sport'), another exception occurred:
94 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
95 response = get_response(request)
96 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
97 response = self.process_exception_by_middleware(e, request)
98 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
99 response = wrapped_callback(request, *callback_args, **callback_kwargs)
100 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
101 return view_func(*args, **kwargs)
102 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/django/views/generic/base.py", line 71, in view
103 return self.dispatch(request, *args, **kwargs)
104 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/rest_framework/views.py", line 509, in dispatch
105 response = self.handle_exception(exc)
106 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/rest_framework/views.py", line 469, in handle_exception
107 self.raise_uncaught_exception(exc)
108 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
109 raise exc
110 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/rest_framework/views.py", line 506, in dispatch
111 response = handler(request, *args, **kwargs)
112 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/rest_framework/generics.py", line 199, in get
113 return self.list(request, *args, **kwargs)
114 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/rest_framework/mixins.py", line 43, in list
115 return self.get_paginated_response(serializer.data)
116 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/rest_framework/serializers.py", line 745, in data
117 ret = super().data
118 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/rest_framework/serializers.py", line 246, in data
119 self._data = self.to_representation(self.instance)
120 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/rest_framework/serializers.py", line 664, in to_representation
121 self.child.to_representation(item) for item in iterable
122 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/rest_framework/serializers.py", line 664, in <listcomp>
123 self.child.to_representation(item) for item in iterable
124 File "/home/topbet/topbet/topbet/server/apps/forecasts/serializers/forecast_list.py", line 104, in to_representation
125 return super().to_representation(obj)
126 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/rest_framework/serializers.py", line 502, in to_representation
127 attribute = field.get_attribute(instance)
128 File "/home/topbet/topbet/topbet/server/.venv/lib/python3.7/site-packages/rest_framework/fields.py", line 490, in get_attribute
129 raise type(exc)(msg)
130
131Exception Type: AttributeError at /api/v1/forecast/list/
132Exception Value: Got AttributeError when attempting to get a value for field `sport` on serializer `ForecastListSerializer`.
133The serializer field might be named incorrectly and not match any attribute or key on the `Forecast` instance.
134Original exception text was: 'Forecast' object has no attribute 'kind_of_sport'.
135Request information:
136USER: AnonymousUser
137
138GET: No GET data
139
140POST: No POST data
141
142FILES: No FILES data
143
144COOKIES:
145top_bet_cookies_accept = 'true'
146csrftoken = 'yg07dcpCzVFEFWhPmxSAa4cLauYgwK2ObVFfBDqyMupSAEBe57VqsFO9Co76GztD'
147messages = '8e289107e549669297cca5bcff87ee85566f9de5$[["__json_message",0,20,"E-mail \\u043f\\u0456\\u0434\\u0442\\u0432\\u0435\\u0440\\u0434\\u0436\\u0435\\u043d\\u043d\\u044f \\u043d\\u0430\\u0434\\u0456\\u0441\\u043b\\u0430\\u043d\\u043e \\u043d\\u0430 xibibow141@zefara.com."],["__json_message",0,25,"E-mail xibibow141@zefara.com \\u043f\\u0456\\u0434\\u0442\\u0432\\u0435\\u0440\\u0434\\u0436\\u0435\\u043d\\u043e."],["__json_message",0,25,"\\u0423\\u0441\\u043f\\u0456\\u0448\\u043d\\u043e \\u0443\\u0432\\u0456\\u0439\\u0448\\u043b\\u0438 \\u044f\\u043a sdfsdgsdg."],["__json_message",0,20,"E-mail \\u043f\\u0456\\u0434\\u0442\\u0432\\u0435\\u0440\\u0434\\u0436\\u0435\\u043d\\u043d\\u044f \\u043d\\u0430\\u0434\\u0456\\u0441\\u043b\\u0430\\u043d\\u043e \\u043d\\u0430 pajok64218@zefara.com."]]'
148sessionid = 'wpjy7yri8eiw2qu9to2k1f2wascf5ixi'
149
150META:
151CSRF_COOKIE = 'yg07dcpCzVFEFWhPmxSAa4cLauYgwK2ObVFfBDqyMupSAEBe57VqsFO9Co76GztD'
152HTTP_ACCEPT = 'application/json, text/plain, */*'
153HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
154HTTP_ACCEPT_LANGUAGE = 'uk'
155HTTP_CACHE_CONTROL = 'no-cache'
156HTTP_CONNECTION = 'close'
157HTTP_COOKIE = 'top_bet_cookies_accept=true; csrftoken=yg07dcpCzVFEFWhPmxSAa4cLauYgwK2ObVFfBDqyMupSAEBe57VqsFO9Co76GztD; messages="8e289107e549669297cca5bcff87ee85566f9de5$[[\\"__json_message\\"\\0540\\05420\\054\\"E-mail \\\\u043f\\\\u0456\\\\u0434\\\\u0442\\\\u0432\\\\u0435\\\\u0440\\\\u0434\\\\u0436\\\\u0435\\\\u043d\\\\u043d\\\\u044f \\\\u043d\\\\u0430\\\\u0434\\\\u0456\\\\u0441\\\\u043b\\\\u0430\\\\u043d\\\\u043e \\\\u043d\\\\u0430 xibibow141@zefara.com.\\"]\\054[\\"__json_message\\"\\0540\\05425\\054\\"E-mail xibibow141@zefara.com \\\\u043f\\\\u0456\\\\u0434\\\\u0442\\\\u0432\\\\u0435\\\\u0440\\\\u0434\\\\u0436\\\\u0435\\\\u043d\\\\u043e.\\"]\\054[\\"__json_message\\"\\0540\\05425\\054\\"\\\\u0423\\\\u0441\\\\u043f\\\\u0456\\\\u0448\\\\u043d\\\\u043e \\\\u0443\\\\u0432\\\\u0456\\\\u0439\\\\u0448\\\\u043b\\\\u0438 \\\\u044f\\\\u043a sdfsdgsdg.\\"]\\054[\\"__json_message\\"\\0540\\05420\\054\\"E-mail \\\\u043f\\\\u0456\\\\u0434\\\\u0442\\\\u0432\\\\u0435\\\\u0440\\\\u0434\\\\u0436\\\\u0435\\\\u043d\\\\u043d\\\\u044f \\\\u043d\\\\u0430\\\\u0434\\\\u0456\\\\u0441\\\\u043b\\\\u0430\\\\u043d\\\\u043e \\\\u043d\\\\u0430 pajok64218@zefara.com.\\"]]"; sessionid=wpjy7yri8eiw2qu9to2k1f2wascf5ixi'
158HTTP_HOST = 'mytopbet.com'
159HTTP_PRAGMA = 'no-cache'
160HTTP_REFERER = 'https://mytopbet.com/bets/'
161HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0'
162HTTP_X_CSRFTOKEN = 'yg07dcpCzVFEFWhPmxSAa4cLauYgwK2ObVFfBDqyMupSAEBe57VqsFO9Co76GztD'
163HTTP_X_FORWARDED_FOR = '185.248.131.247'
164HTTP_X_FORWARDED_PROTO = 'https'
165HTTP_X_REQUESTED_WITH = 'XMLHttpRequest'
166PATH_INFO = '/api/v1/forecast/list/'
167QUERY_STRING = ''
168RAW_URI = '/api/v1/forecast/list/'
169REMOTE_ADDR = ''
170REQUEST_METHOD = 'GET'
171SCRIPT_NAME = ''
172SERVER_NAME = 'mytopbet.com'
173SERVER_PORT = '443'
174SERVER_PROTOCOL = 'HTTP/1.0'
175SERVER_SOFTWARE = 'gunicorn/20.0.4'
176gunicorn.socket = <gevent._socket3.socket at 0x7f68980801a0 object, fd=18, family=1, type=1, proto=0>
177wsgi.errors = <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f68980895d0>
178wsgi.file_wrapper = ''
179wsgi.input = <gunicorn.http.body.Body object at 0x7f6898089610>
180wsgi.input_terminated = True
181wsgi.multiprocess = False
182wsgi.multithread = True
183wsgi.run_once = False
184wsgi.url_scheme = 'https'
185wsgi.version = '(1, 0)'
186
187Settings:
188Using settings module app.settings
189ABSOLUTE_URL_OVERRIDES = {}
190ACCOUNT_ADAPTER = 'apps.staff.adapters.AccountAdapter'
191ACCOUNT_AUTHENTICATION_METHOD = 'username'
192ACCOUNT_CONFIRM_EMAIL_ON_GET = True
193ACCOUNT_DEFAULT_HTTP_PROTOCOL = 'https'
194ACCOUNT_EMAIL_REQUIRED = True
195ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
196ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = True
197ACCOUNT_LOGIN_ON_PASSWORD_RESET = '********************'
198ACCOUNT_LOGOUT_ON_GET = True
199ACCOUNT_UNIQUE_EMAIL = True
200ACCOUNT_USERNAME_REQUIRED = True
201ADMINS = []
202ALLOWED_HOSTS = ['157.230.103.229', '.topbet.ua', '.mytopbet.com']
203API_RE_PREFIX = '********************'
204APPEND_SLASH = True
205AUTHENTICATION_BACKENDS = "('apps.staff.auth_backends.AuthenticationBackend',)"
206AUTH_PASSWORD_VALIDATORS = '********************'
207AUTH_USER_MODEL = 'staff.CustomUser'
208BASE_DIR = PosixPath('/home/topbet/topbet/topbet/server/app/settings/default.py')
209BASE_ROOT = PosixPath('/home/topbet/topbet/topbet/server/app')
210BASE_URL = 'https://mytopbet.com'
211CACHES = {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://127.0.0.1:6379/1'}}
212CACHE_MIDDLEWARE_ALIAS = 'default'
213CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
214CACHE_MIDDLEWARE_SECONDS = 600
215CELERY_ACCEPT_CONTENT = ['json']
216CELERY_BROKER_URL = 'redis://127.0.0.1:6379/0'
217CELERY_RESULT_SERIALIZER = 'json'
218CELERY_TASK_SERIALIZER = 'json'
219CKEDITOR_CONFIGS = {'default': {'skin': 'office2013', 'CKEDITOR_BROWSE_SHOW_DIRS': True, 'toolbar_Basic': [['Source', '-', 'Bold', 'Italic']], 'toolbar_YourCustomToolbarConfig': [{'name': 'document', 'items': ['Source', '-', 'Save', 'NewPage', 'Preview', 'Print', '-', 'Templates']}, {'name': 'clipboard', 'items': ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo']}, {'name': 'editing', 'items': ['Find', 'Replace', '-', 'SelectAll']}, {'name': 'forms', 'items': ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField']}, '/', {'name': 'basicstyles', 'items': ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat']}, {'name': 'paragraph', 'items': ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote', 'CreateDiv', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', '-', 'BidiLtr', 'BidiRtl', 'Language']}, {'name': 'links', 'items': ['Link', 'Unlink', 'Anchor']}, {'name': 'insert', 'items': ['Image', 'Flash', 'Table', 'HorizontalRule', 'Smiley', 'SpecialChar', 'PageBreak', 'Iframe']}, '/', {'name': 'styles', 'items': ['Styles', 'Format', 'Font', 'FontSize']}, {'name': 'colors', 'items': ['TextColor', 'BGColor']}, {'name': 'tools', 'items': ['Maximize', 'ShowBlocks']}, {'name': 'about', 'items': ['About']}, '/', {'name': 'yourcustomtools', 'items': ['Preview', 'Maximize']}], 'toolbar': 'YourCustomToolbarConfig', 'tabSpaces': 4, 'extraPlugins': 'uploadimage,div,autolink,autoembed,embedsemantic,widget,lineutils,clipboard,dialog,dialogui,elementspath,uploadwidget', 'allowedContent': True, 'forcePasteAsPlainText': True}}
220CKEDITOR_UPLOAD_PATH = ''
221CRUMBS_HOME_URL_NAME = 'pages:index'
222CSRF_COOKIE_AGE = 31449600
223CSRF_COOKIE_DOMAIN = '.mytopbet.com'
224CSRF_COOKIE_HTTPONLY = False
225CSRF_COOKIE_NAME = 'csrftoken'
226CSRF_COOKIE_PATH = '/'
227CSRF_COOKIE_SAMESITE = 'Lax'
228CSRF_COOKIE_SECURE = True
229CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
230CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
231CSRF_TRUSTED_ORIGINS = []
232CSRF_USE_SESSIONS = False
233DATABASES = {'default': {'NAME': 'topbet_db', 'USER': 'topbet_db', '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}}}
234DATABASE_ROUTERS = []
235DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
236DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
237DATETIME_FORMAT = '%d.%m.%Y, %H:%M:%S'
238DATETIME_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']
239DATE_FORMAT = '%d.%m.%Y'
240DATE_INPUT_FORMATS = ['%d.%m.%Y', '%d.%m.%y', '%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']
241DEBUG = 'True'
242DEBUG_PROPAGATE_EXCEPTIONS = False
243DEBUG_TOOLBAR_CONFIG = {'SHOW_COLLAPSED': True, 'SHOW_TOOLBAR_CALLBACK': <function <lambda> at 0x7f68a155c680>}
244DECIMAL_SEPARATOR = '.'
245DEFAULT_CHARSET = 'utf-8'
246DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
247DEFAULT_EXTENSIONS = ['jinja2.ext.do', 'jinja2.ext.loopcontrols', 'jinja2.ext.with_', 'jinja2.ext.i18n', 'jinja2.ext.autoescape', 'django_jinja.builtins.extensions.DebugExtension', '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']
248DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
249DEFAULT_FROM_EMAIL = 'admin@admin.admin'
250DEFAULT_INDEX_TABLESPACE = ''
251DEFAULT_TABLESPACE = ''
252DISALLOWED_USER_AGENTS = []
253DRF_RECAPTCHA_PUBLIC_KEY = '********************'
254DRF_RECAPTCHA_SECRET_KEY = '********************'
255DRF_RECAPTCHA_VERIFY_ENDPOINT = 'https://www.google.com/recaptcha/api/siteverify'
256EMAIL_BACKEND = 'des.backends.ConfiguredEmailBackend'
257EMAIL_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'}
258EMAIL_FILE_PATH = ''
259EMAIL_HOST = '127.0.0.1'
260EMAIL_HOST_PASSWORD = '********************'
261EMAIL_HOST_USER = None
262EMAIL_PORT = None
263EMAIL_SSL_CERTFILE = None
264EMAIL_SSL_KEYFILE = '********************'
265EMAIL_SUBJECT_PREFIX = '[Django] '
266EMAIL_TIMEOUT = None
267EMAIL_USE_LOCALTIME = False
268EMAIL_USE_SSL = False
269EMAIL_USE_TLS = False
270FILE_CHARSET = 'utf-8'
271FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
272FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
273FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
274FILE_UPLOAD_PERMISSIONS = 420
275FILE_UPLOAD_TEMP_DIR = None
276FIRST_DAY_OF_WEEK = 0
277FIXTURE_DIRS = []
278FORCE_SCRIPT_NAME = None
279FORMAT_MODULE_PATH = None
280FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
281IGNORABLE_404_URLS = []
282INSTALLED_APPS = ['markup', 'shared', 'apps.academy', 'apps.adds', 'apps.bots', 'apps.bookmakers', 'apps.chat', 'apps.common', 'apps.faq', 'apps.forecasts', 'apps.handling', 'apps.messengers', 'apps.organization', 'apps.pages', 'apps.payments', 'apps.security', 'apps.staff', 'apps.stats', 'admin_auto_filters', 'adminsortable2', 'ckeditor', 'ckeditor_uploader', 'des', 'django_filters', 'django_jinja', 'jet', 'modeltranslation', 'parler', 'postie', 'rest_framework', 'rest_framework.authtoken', 'rest_framework_recaptcha', 'robots', 'rosetta', 'script_pattern', 'seo', 'solo', 'standards', 'subdomains', 'vuejs_translate', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'qsessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sites', 'allauth', 'allauth.account', 'allauth.socialaccount', 'allauth.socialaccount.providers.google', 'allauth.socialaccount.providers.facebook', 'allauth.socialaccount.providers.twitter', 'rest_auth', 'rest_auth.registration', 'django_otp', 'django_otp.plugins.otp_totp', 'django_otp.plugins.otp_email']
283INTERNAL_IPS = []
284JET_SIDE_MENU_COMPACT = True
285LANGUAGES = "(('uk', 'Ukrainian'), ('ru', 'Russian'), ('en', 'English'))"
286LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
287LANGUAGE_CODE = 'uk'
288LANGUAGE_COOKIE_AGE = None
289LANGUAGE_COOKIE_DOMAIN = None
290LANGUAGE_COOKIE_HTTPONLY = False
291LANGUAGE_COOKIE_NAME = 'django_language'
292LANGUAGE_COOKIE_PATH = '/'
293LANGUAGE_COOKIE_SAMESITE = None
294LANGUAGE_COOKIE_SECURE = False
295LOCALE_PATHS = "(PosixPath('/home/topbet/topbet/topbet/server/app/locale'),)"
296LOGGING = {'version': 1, 'disable_existing_loggers': False, 'handlers': {'console': {'level': 'DEBUG', 'class': 'logging.StreamHandler'}, 'logfile': {'level': 'DEBUG', 'class': 'logging.FileHandler', 'filename': PosixPath('/home/topbet/topbet/topbet/server/app/settings/default.py/../logfile.log')}}, 'root': {'level': 'INFO', 'handlers': ['console', 'logfile']}}
297LOGGING_CONFIG = 'logging.config.dictConfig'
298LOGIN_REDIRECT_URL = '/auth/login/'
299LOGIN_URL = '/#auth'
300LOGOUT_REDIRECT_URL = None
301MANAGERS = []
302MEDIA_ROOT = PosixPath('/home/topbet/topbet/topbet/server/app/uploads')
303MEDIA_URL = '/uploads/'
304MESSAGE_CONFIGS = {'telegram': {'events': {'new_forecast__user': {'domain': 'Домен', 'link': 'Link'}, 'new_subscriber__user': {'domain': 'Домен', 'link': 'Link'}}}}
305MESSAGE_EVENTS = Choices(('new_forecast__user', 'new_forecast__user', 'Новий прогноз (користувач)'), ('new_subscriber__user', 'new_subscriber__user', 'New subscriber (user)'))
306MESSAGE_HTML_ADMIN_WIDGETS = {'ckeditor': {'widget': 'CKEditorUploadingWidget', 'widget_module': 'ckeditor_uploader.widgets', 'attrs': {}}}
307MESSAGE_SECTIONS = Choices(('telegram', 'telegram', 'Telegram'))
308MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
309MIDDLEWARE = ['django.middleware.security.SecurityMiddleware', 'qsessions.middleware.SessionMiddleware', 'subdomains.middleware.SubdomainMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django_otp.middleware.OTPMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'seo.middleware.url_seo_middleware', 'apps.staff.middlewares.SubdomainUserMiddleware']
310MIGRATION_MODULES = {}
311MONTH_DAY_FORMAT = 'F j'
312NUMBER_GROUPING = 0
313OLD_PASSWORD_FIELD_ENABLED = '********************'
314PARLER_DEFAULT_LANGUAGE_CODE = 'uk'
315PARLER_LANGUAGES = {1: ({'code': 'uk', 'fallbacks': ['uk'], 'hide_untranslated': False}, {'code': 'en', 'fallbacks': ['uk'], 'hide_untranslated': False}, {'code': 'ru', 'fallbacks': ['uk'], 'hide_untranslated': False}), 'default': {'fallbacks': ['uk'], 'hide_untranslated': False, 'code': 'uk'}}
316PASSWORD_HASHERS = '********************'
317PASSWORD_RESET_TIMEOUT_DAYS = '********************'
318POSTIE_HTML_ADMIN_WIDGET = {'widget': 'CKEditorUploadingWidget', 'widget_module': 'ckeditor_uploader.widgets', 'attrs': {}}
319POSTIE_INSTANT_SEND = False
320POSTIE_TEMPLATE_CHOICES = Choices(('confirm_email__user', 'confirm_email__user', 'Підтвердити електронну адресу (користувач)'), ('password_reset_confirm__user', 'password_reset_confirm__user', 'Підтвердити скидання пароля (користувач)'), ('otp_email__user', 'otp_email__user', 'Електронна адреса OTP (користувач)'), ('question_handling__admin', 'question_handling__admin', 'Обробка питань (адміністратор)'), ('question_handling_answer__user', 'question_handling_answer__user', 'Відповідь на питання (користувач)'), ('payout_created__admin', 'payout_created__admin', 'Виплата створена (адміністратор)'), ('payout_confirmed__user', 'payout_confirmed__user', 'Виплата підтверджена (користувач)'), ('payout_rejected__user', 'payout_rejected__user', 'Виплата відхилена (користувач)'), ('subscription_payment_fail__user', 'subscription_payment_fail__user', 'Помилка оплати передплати (користувач)'), ('subscription_payment_success__user', 'subscription_payment_success__user', 'Успіх оплати підписки (користувач)'), ('notify_payment_fail__user', 'notify_payment_fail__user', 'Не вдалося повідомити про платіж (користувач)'), ('notify_payment_success__user', 'notify_payment_success__user', 'Повідомлення про успішне здійснення платежу (користувач)'), ('new_forecast__user', 'new_forecast__user', 'Новий прогноз (користувач)'), ('new_subscriber__user', 'new_subscriber__user', 'New subscriber (user)'))
321POSTIE_TEMPLATE_CONTEXTS = {'confirm_email__user': {'login': 'Увійти', 'name': "Ім'я", 'link': 'Посилання на підтвердження'}, 'password_reset_confirm__user': '********************', 'otp_email__user': {'token': '********************'}, 'question_handling__admin': {'name': "Ім'я", 'email': 'Email ', 'question': 'Питання', 'link': 'Посилання'}, 'question_handling_answer__user': {'name': "Ім'я", 'email': 'Email ', 'question': 'Питання', 'answer': 'Відповідь'}, 'payout_created__admin': {'fio': 'ПІБ', 'amount': 'Сума', 'link': 'Посилання'}, 'payout_confirmed__user': {'fio': 'ПІБ', 'amount': 'Сума', 'comment': 'Прокоментуйте'}, 'payout_rejected__user': {'fio': 'ПІБ', 'amount': 'Сума', 'comment': 'Прокоментуйте'}, 'subscription_payment_fail__user': {'amount': 'Сума', 'domain': 'Домен', 'name': "Ім'я"}, 'subscription_payment_success__user': {'amount': 'Сума', 'domain': 'Домен', 'name': "Ім'я"}, 'notify_payment_fail__user': {'amount': 'Сума', 'name': "Ім'я"}, 'notify_payment_success__user': {'amount': 'Сума', 'name': "Ім'я"}, 'new_forecast__user': {'domain': 'Домен', 'link': 'Посилання'}, 'new_subscriber__user': {'domain': 'Домен', 'link': 'Посилання'}}
322PREPEND_WWW = False
323PROJECT_APPS = ['markup', 'shared', 'apps.academy', 'apps.adds', 'apps.bots', 'apps.bookmakers', 'apps.chat', 'apps.common', 'apps.faq', 'apps.forecasts', 'apps.handling', 'apps.messengers', 'apps.organization', 'apps.pages', 'apps.payments', 'apps.security', 'apps.staff', 'apps.stats']
324REST_FRAMEWORK = {'DATE_FORMAT': 'iso-8601', 'TIME_FORMAT': 'iso-8601', 'DATETIME_FORMAT': 'iso-8601', 'DATE_INPUT_FORMATS': ['iso-8601'], 'TIME_INPUT_FORMATS': ['iso-8601'], 'DATETIME_INPUT_FORMATS': ['iso-8601'], 'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'], 'DEFAULT_METADATA_CLASS': 'standards.drf.metadata.FieldsetMetadata', 'DEFAULT_PARSER_CLASSES': ('djangorestframework_camel_case.parser.CamelCaseFormParser', 'djangorestframework_camel_case.parser.CamelCaseMultiPartParser', 'djangorestframework_camel_case.parser.CamelCaseJSONParser'), 'DEFAULT_RENDERER_CLASSES': ('standards.drf.renderers.CamelCaseORJSONRenderer', 'djangorestframework_camel_case.render.CamelCaseBrowsableAPIRenderer'), 'EXCEPTION_HANDLER': 'standards.drf.handlers.exception_handler', 'SEARCH_PARAM': 's'}
325ROOT_URLCONF = 'app.urls'
326ROSETTA_SHOW_AT_ADMIN_PANEL = True
327SECRET_KEY = '********************'
328SECURE_BROWSER_XSS_FILTER = False
329SECURE_CONTENT_TYPE_NOSNIFF = True
330SECURE_HSTS_INCLUDE_SUBDOMAINS = False
331SECURE_HSTS_PRELOAD = False
332SECURE_HSTS_SECONDS = 0
333SECURE_PROXY_SSL_HEADER = "('HTTP_X_FORWARDED_PROTO', 'https')"
334SECURE_REDIRECT_EXEMPT = []
335SECURE_REFERRER_POLICY = None
336SECURE_SSL_HOST = None
337SECURE_SSL_REDIRECT = False
338SENDPULSE_EMAIL_FROMEMAIL = 'info@topbet.ua'
339SENDPULSE_EMAIL_HOST = 'smtp-pulse.com'
340SENDPULSE_EMAIL_PASSWORD = '********************'
341SENDPULSE_EMAIL_PORT = 465
342SENDPULSE_EMAIL_USERNAME = 'topbet.sendpulse@gmail.com'
343SENDPULSE_EMAIL_USE_SSL = True
344SENDPULSE_EMAIL_USE_TLS = False
345SEO_HTML_ADMIN_WIDGET = {'widget': 'CKEditorUploadingWidget', 'widget_path': 'ckeditor_uploader.widgets'}
346SEO_MODELS = ['pages.indexpage', 'pages.templatepage']
347SEO_USE_URL_FULL_PATH = True
348SEO_USE_URL_SEO = True
349SERVER_EMAIL = 'root@localhost'
350SESSION_CACHE_ALIAS = 'default'
351SESSION_COOKIE_AGE = 1209600
352SESSION_COOKIE_DOMAIN = '.mytopbet.com'
353SESSION_COOKIE_HTTPONLY = True
354SESSION_COOKIE_NAME = 'sessionid'
355SESSION_COOKIE_PATH = '/'
356SESSION_COOKIE_SAMESITE = 'Lax'
357SESSION_COOKIE_SECURE = True
358SESSION_ENGINE = 'qsessions.backends.cached_db'
359SESSION_EXPIRE_AT_BROWSER_CLOSE = False
360SESSION_FILE_PATH = None
361SESSION_SAVE_EVERY_REQUEST = False
362SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
363SETTINGS_MODULE = 'app.settings'
364SHORT_DATETIME_FORMAT = 'm/d/Y P'
365SHORT_DATE_FORMAT = 'm/d/Y'
366SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
367SILENCED_SYSTEM_CHECKS = []
368SITE_ID = 1
369SOCIALACCOUNT_ADAPTER = 'apps.staff.adapters.SocialAccountAdapter'
370SOCIALACCOUNT_AUTO_SIGNUP = True
371SOCIALACCOUNT_EMAIL_REQUIRED = False
372SOCIALACCOUNT_EMAIL_VERIFICATION = False
373SOCIALACCOUNT_PROVIDERS = {'google': {'SCOPE': ['profile', 'email'], 'AUTH_PARAMS': {'access_type': 'online'}}, 'facebook': {'METHOD': 'oauth2', 'SCOPE': ['email', 'public_profile'], 'AUTH_PARAMS': {}, 'FIELDS': ['id', 'email', 'name', 'first_name', 'last_name', 'verified', 'picture'], 'EXCHANGE_TOKEN': '********************', 'VERIFIED_EMAIL': True, 'VERSION': 'v8.0'}, 'twitter': {}}
374SOCIALACCOUNT_QUERY_EMAIL = False
375STATICFILES_DIRS = []
376STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
377STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
378STATIC_ROOT = PosixPath('/home/topbet/topbet/topbet/server/app/static')
379STATIC_URL = '/static/'
380SUBDOMAIN_URLCONFS = {}
381TEMPLATES = [{'BACKEND': 'django_jinja.backend.Jinja2', 'NAME': 'jinja2', 'APP_DIRS': True, 'DIRS': [], 'OPTIONS': {'environment': 'shared.env.jinja2.environment', 'match_extension': '.jinja', 'newstyle_gettext': True, 'auto_reload': True, 'undefined': <class 'jinja2.runtime.Undefined'>, 'debug': True, 'filters': {}, 'globals': {}, 'context_processors': ['django.contrib.auth.context_processors.auth', 'django.template.context_processors.debug', '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'], 'extensions': ['jinja2.ext.do', 'jinja2.ext.loopcontrols', 'jinja2.ext.with_', 'jinja2.ext.i18n', 'jinja2.ext.autoescape', 'django_jinja.builtins.extensions.DebugExtension', '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': True}}}, {'DIRS': [], 'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', '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']}}]
382TEST_NON_SERIALIZED_APPS = []
383TEST_RUNNER = 'django.test.runner.DiscoverRunner'
384THOUSAND_SEPARATOR = ','
385TIME_FORMAT = 'P'
386TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
387TIME_ZONE = 'Europe/Kiev'
388USE_I18N = True
389USE_L10N = True
390USE_THOUSAND_SEPARATOR = False
391USE_TZ = True
392USE_X_FORWARDED_HOST = False
393USE_X_FORWARDED_PORT = False
394WSGI_APPLICATION = 'app.wsgi.application'
395X_FRAME_OPTIONS = 'SAMEORIGIN'
396YEAR_MONTH_FORMAT = 'F Y'
397
398
399You're seeing this error because you have DEBUG = True in your
400Django settings file. Change that to False, and Django will
401display a standard page generated by the handler for this status code.
402
403