platform.izolyatsia.org
Open in
urlscan Pro
172.67.136.73
Public Scan
URL:
https://platform.izolyatsia.org/ua/contest/0e1b92d2-8994-4a7c-b994
Submission: On December 09 via api from UA — Scanned from PL
Submission: On December 09 via api from UA — Scanned from PL
Form analysis
1 forms found in the DOMName: pasteform — POST https://dpaste.com/
<form action="https://dpaste.com/" name="pasteform" id="pasteform" method="post">
<div id="pastebinTraceback" class="pastebin" style="display: none;">
<input type="hidden" name="language" value="PythonConsole">
<input type="hidden" name="title" value="ValidationError at /ua/contest/0e1b92d2-8994-4a7c-b994">
<input type="hidden" name="source" value="Django Dpaste Agent">
<input type="hidden" name="poster" value="Django">
<textarea name="content" id="traceback_area" cols="140" rows="25">Environment:
Request Method: GET
Request URL: http://platform.izolyatsia.org/ua/contest/0e1b92d2-8994-4a7c-b994
Django Version: 5.0.6
Python Version: 3.12.4
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django_assets',
'markdownify.apps.MarkdownifyConfig',
'anymail',
'parler',
'channels',
'turbo',
'mptt',
'apps.users',
'apps.frontend',
'apps.office',
'apps.contests',
'apps.form_manager',
'apps.file_manager',
'apps.back_office',
'apps.mailer',
'apps.evaluation',
'apps.monitoring',
'apps.materials_approval',
'apps.calendar_planning',
'apps.logger']
Installed Middleware:
['django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'apps.users.middleware.UserLocaleMiddleware',
'apps.users.middleware.ForceDefaultLanguageMiddleware',
'apps.users.middleware.UserTimezoneMiddleware',
'django.middleware.locale.LocaleMiddleware',
'glass.middleware.RequestDataTooBigMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/django/db/models/fields/__init__.py", line 2752, in to_python
return uuid.UUID(**{input_form: value})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/uuid.py", line 178, in __init__
raise ValueError('badly formed hexadecimal UUID string')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
During handling of the above exception (badly formed hexadecimal UUID string), another exception occurred:
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
response = await wrapped_callback(
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 104, in view
return self.dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 143, in dispatch
return handler(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/django/views/generic/detail.py", line 108, in get
self.object = self.get_object()
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/django/views/generic/detail.py", line 37, in get_object
queryset = queryset.filter(pk=pk)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 1476, in filter
return self._filter_or_exclude(False, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 1494, in _filter_or_exclude
clone._filter_or_exclude_inplace(negate, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 1501, in _filter_or_exclude_inplace
self._query.add_q(Q(*args, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1613, in add_q
clause, _ = self._add_q(q_object, self.used_aliases)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1645, in _add_q
child_clause, needed_inner = self.build_filter(
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1559, in build_filter
condition = self.build_lookup(lookups, col, value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1389, in build_lookup
lookup = lookup_class(lhs, rhs)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/django/db/models/lookups.py", line 30, in __init__
self.rhs = self.get_prep_lookup()
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/django/db/models/lookups.py", line 364, in get_prep_lookup
return super().get_prep_lookup()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/django/db/models/lookups.py", line 88, in get_prep_lookup
return self.lhs.output_field.get_prep_value(self.rhs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/django/db/models/fields/__init__.py", line 2736, in get_prep_value
return self.to_python(value)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/django/db/models/fields/__init__.py", line 2754, in to_python
raise exceptions.ValidationError(
^
Exception Type: ValidationError at /ua/contest/0e1b92d2-8994-4a7c-b994
Exception Value: ['“0e1b92d2-8994-4a7c-b994” is not a valid UUID.']
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</div>
</form>
Text Content
VALIDATIONERROR AT /UA/CONTEST/0E1B92D2-8994-4A7C-B994 ['“0e1b92d2-8994-4a7c-b994” is not a valid UUID.'] Request Method: GET Request URL: http://platform.izolyatsia.org/ua/contest/0e1b92d2-8994-4a7c-b994 Django Version: 5.0.6 Exception Type: ValidationError Exception Value: ['“0e1b92d2-8994-4a7c-b994” is not a valid UUID.'] Exception Location: /usr/local/lib/python3.12/site-packages/django/db/models/fields/__init__.py, line 2754, in to_python Raised during: apps.frontend.views.ContestDetailView Python Executable: /usr/local/bin/python Python Version: 3.12.4 Python Path: ['/opt/app/looking-glass', '/opt/app/looking-glass', '/usr/local/bin', '/usr/local/lib/python312.zip', '/usr/local/lib/python3.12', '/usr/local/lib/python3.12/lib-dynload', '/usr/local/lib/python3.12/site-packages'] Server time: Tue, 10 Dec 2024 00:07:25 +0200 TRACEBACK SWITCH TO COPY-AND-PASTE VIEW * /usr/local/lib/python3.12/site-packages/django/db/models/fields/__init__.py, line 2752, in to_python 2745. return value 2746. return value.hex 2747. 2748. def to_python(self, value): 2749. if value is not None and not isinstance(value, uuid.UUID): 2750. input_form = "int" if isinstance(value, int) else "hex" 2751. try: 2752. return uuid.UUID(**{input_form: value}) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … 2753. except (AttributeError, ValueError): 2754. raise exceptions.ValidationError( 2755. self.error_messages["invalid"], 2756. code="invalid", 2757. params={"value": value}, 2758. ) Local vars Variable Value input_form 'hex' self <django.db.models.fields.UUIDField: id> value '0e1b92d2-8994-4a7c-b994' * /usr/local/lib/python3.12/uuid.py, line 178, in __init__ 171. if [hex, bytes, bytes_le, fields, int].count(None) != 4: 172. raise TypeError('one of the hex, bytes, bytes_le, fields, ' 173. 'or int arguments must be given') 174. if hex is not None: 175. hex = hex.replace('urn:', '').replace('uuid:', '') 176. hex = hex.strip('{}').replace('-', '') 177. if len(hex) != 32: 178. raise ValueError('badly formed hexadecimal UUID string') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … 179. int = int_(hex, 16) 180. if bytes_le is not None: 181. if len(bytes_le) != 16: 182. raise ValueError('bytes_le is not a 16-char string') 183. bytes = (bytes_le[4-1::-1] + bytes_le[6-1:4-1:-1] + 184. bytes_le[8-1:6-1:-1] + bytes_le[8:]) Local vars Variable Value bytes None bytes_le None fields None hex '0e1b92d289944a7cb994' int None is_safe <SafeUUID.unknown: None> self Error in formatting: AttributeError: 'UUID' object has no attribute 'int' version None * DURING HANDLING OF THE ABOVE EXCEPTION (BADLY FORMED HEXADECIMAL UUID STRING), ANOTHER EXCEPTION OCCURRED: * /usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py, line 42, in inner 35. can rely on getting a response instead of an exception. 36. """ 37. if iscoroutinefunction(get_response): 38. 39. @wraps(get_response) 40. async def inner(request): 41. try: 42. response = await get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ … 43. except Exception as exc: 44. response = await sync_to_async( 45. response_for_exception, thread_sensitive=False 46. )(request, exc) 47. return response 48. Local vars Variable Value exc ValidationError(['“0e1b92d2-8994-4a7c-b994” is not a valid UUID.']) get_response <bound method BaseHandler._get_response_async of <django.core.handlers.asgi.ASGIHandler object at 0x7092d3fc1a60>> request <ASGIRequest: GET '/ua/contest/0e1b92d2-8994-4a7c-b994'> * /usr/local/lib/python3.12/site-packages/django/core/handlers/base.py, line 253, in _get_response_async 246. wrapped_callback = self.make_view_atomic(callback) 247. # If it is a synchronous view, run it in a subthread 248. if not iscoroutinefunction(wrapped_callback): 249. wrapped_callback = sync_to_async( 250. wrapped_callback, thread_sensitive=True 251. ) 252. try: 253. response = await wrapped_callback( … 254. request, *callback_args, **callback_kwargs 255. ) 256. except Exception as e: 257. response = await sync_to_async( 258. self.process_exception_by_middleware, 259. thread_sensitive=True, Local vars Variable Value callback <function View.as_view.<locals>.view at 0x7092d09d56c0> callback_args () callback_kwargs {'pk': '0e1b92d2-8994-4a7c-b994'} middleware_method <asgiref.sync.SyncToAsync object at 0x7092d206bfb0> request <ASGIRequest: GET '/ua/contest/0e1b92d2-8994-4a7c-b994'> response None self <django.core.handlers.asgi.ASGIHandler object at 0x7092d3fc1a60> wrapped_callback <asgiref.sync.SyncToAsync object at 0x7092d02f8f50> * /usr/local/lib/python3.12/site-packages/django/views/generic/base.py, line 104, in view 97. self = cls(**initkwargs) 98. self.setup(request, *args, **kwargs) 99. if not hasattr(self, "request"): 100. raise AttributeError( 101. "%s instance has no 'request' attribute. Did you override " 102. "setup() and forget to call super()?" % cls.__name__ 103. ) 104. return self.dispatch(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … 105. 106. view.view_class = cls 107. view.view_initkwargs = initkwargs 108. 109. # __name__ and __qualname__ are intentionally left unchanged as 110. # view_class should be used to robustly determine the name of the view Local vars Variable Value args () cls <class 'apps.frontend.views.ContestDetailView'> initkwargs {'template_name': 'front-contest.html'} kwargs {'pk': '0e1b92d2-8994-4a7c-b994'} request <ASGIRequest: GET '/ua/contest/0e1b92d2-8994-4a7c-b994'> self <apps.frontend.views.ContestDetailView object at 0x7092d00a7980> * /usr/local/lib/python3.12/site-packages/django/views/generic/base.py, line 143, in dispatch 136. # request method isn't on the approved list. 137. if request.method.lower() in self.http_method_names: 138. handler = getattr( 139. self, request.method.lower(), self.http_method_not_allowed 140. ) 141. else: 142. handler = self.http_method_not_allowed 143. return handler(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … 144. 145. def http_method_not_allowed(self, request, *args, **kwargs): 146. logger.warning( 147. "Method Not Allowed (%s): %s", 148. request.method, 149. request.path, Local vars Variable Value args () handler <bound method BaseDetailView.get of <apps.frontend.views.ContestDetailView object at 0x7092d00a7980>> kwargs {'pk': '0e1b92d2-8994-4a7c-b994'} request <ASGIRequest: GET '/ua/contest/0e1b92d2-8994-4a7c-b994'> self <apps.frontend.views.ContestDetailView object at 0x7092d00a7980> * /usr/local/lib/python3.12/site-packages/django/views/generic/detail.py, line 108, in get 101. return super().get_context_data(**context) 102. 103. 104. class BaseDetailView(SingleObjectMixin, View): 105. """A base view for displaying a single object.""" 106. 107. def get(self, request, *args, **kwargs): 108. self.object = self.get_object() ^^^^^^^^^^^^^^^^^ … 109. context = self.get_context_data(object=self.object) 110. return self.render_to_response(context) 111. 112. 113. class SingleObjectTemplateResponseMixin(TemplateResponseMixin): 114. template_name_field = None Local vars Variable Value args () kwargs {'pk': '0e1b92d2-8994-4a7c-b994'} request <ASGIRequest: GET '/ua/contest/0e1b92d2-8994-4a7c-b994'> self <apps.frontend.views.ContestDetailView object at 0x7092d00a7980> * /usr/local/lib/python3.12/site-packages/django/views/generic/detail.py, line 37, in get_object 30. if queryset is None: 31. queryset = self.get_queryset() 32. 33. # Next, try looking up by primary key. 34. pk = self.kwargs.get(self.pk_url_kwarg) 35. slug = self.kwargs.get(self.slug_url_kwarg) 36. if pk is not None: 37. queryset = queryset.filter(pk=pk) ^^^^^^^^^^^^^^^^^^^^^^ … 38. 39. # Next, try looking up by slug. 40. if slug is not None and (pk is None or self.query_pk_and_slug): 41. slug_field = self.get_slug_field() 42. queryset = queryset.filter(**{slug_field: slug}) 43. Local vars Variable Value pk '0e1b92d2-8994-4a7c-b994' queryset <TranslatableQuerySet [<Contest: Конкурс міні-проєктів "Адаптація та доступність: інклюзивна культура">, <Contest: Резиденція «Українські Екології»>, <Contest: Спадщина. Практична робота. Опен кол для митців та мисткинь для участі у програмі резиденцій в Україні>, <Contest: Active City(ZENS). Відкритий конкурс на участь в резиденції у Берліні>, <Contest: ZMINA: Rebuilding. Друга хвиля заявок на міжнародні проєкти>, <Contest: Спадщина. Простір для роботи>, <Contest: ZMINA: Rebuilding. Друга хвиля національних субгрантів>, <Contest: ZMINA: Rebuilding. Перша хвиля заявок на міжнародні проєкти>, <Contest: Заземлення. Інвазія. Відкритий конкурс на участь у програмі віртуальних резиденцій для українських митців та мисткинь>, <Contest: ZMINA: Rebuilding. Перша хвиля національних субгрантів>, <Contest: ZMINA: Rebuilding. Пошук оцінювачів та оцінювачок // Open call for project evaluators>, <Contest: Невідкладна допомога для громад>, <Contest: ZMINA 2.0 Project Evaluator>, <Contest: IZOLYATSIA Communication manager>, <Contest: IZOLYATSIA Communication and SMM manager>, <Contest: Екстрена допомога для працівників культури>, <Contest: Субгранти для культурних проєктів. Друга хвиля.>, <Contest: Екстрена допомога для працівників культури (3-тя хвиля)>, <Contest: (RE)GROUNDING>, <Contest: Субгранти для мистецьких проєктів>]> self <apps.frontend.views.ContestDetailView object at 0x7092d00a7980> slug None * /usr/local/lib/python3.12/site-packages/django/db/models/query.py, line 1476, in filter 1469. 1470. def filter(self, *args, **kwargs): 1471. """ 1472. Return a new QuerySet instance with the args ANDed to the existing 1473. set. 1474. """ 1475. self._not_support_combined_queries("filter") 1476. return self._filter_or_exclude(False, args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … 1477. 1478. def exclude(self, *args, **kwargs): 1479. """ 1480. Return a new QuerySet instance with NOT (args) ANDed to the existing 1481. set. 1482. """ Local vars Variable Value args () kwargs {'pk': '0e1b92d2-8994-4a7c-b994'} self <TranslatableQuerySet [<Contest: Конкурс міні-проєктів "Адаптація та доступність: інклюзивна культура">, <Contest: Резиденція «Українські Екології»>, <Contest: Спадщина. Практична робота. Опен кол для митців та мисткинь для участі у програмі резиденцій в Україні>, <Contest: Active City(ZENS). Відкритий конкурс на участь в резиденції у Берліні>, <Contest: ZMINA: Rebuilding. Друга хвиля заявок на міжнародні проєкти>, <Contest: Спадщина. Простір для роботи>, <Contest: ZMINA: Rebuilding. Друга хвиля національних субгрантів>, <Contest: ZMINA: Rebuilding. Перша хвиля заявок на міжнародні проєкти>, <Contest: Заземлення. Інвазія. Відкритий конкурс на участь у програмі віртуальних резиденцій для українських митців та мисткинь>, <Contest: ZMINA: Rebuilding. Перша хвиля національних субгрантів>, <Contest: ZMINA: Rebuilding. Пошук оцінювачів та оцінювачок // Open call for project evaluators>, <Contest: Невідкладна допомога для громад>, <Contest: ZMINA 2.0 Project Evaluator>, <Contest: IZOLYATSIA Communication manager>, <Contest: IZOLYATSIA Communication and SMM manager>, <Contest: Екстрена допомога для працівників культури>, <Contest: Субгранти для культурних проєктів. Друга хвиля.>, <Contest: Екстрена допомога для працівників культури (3-тя хвиля)>, <Contest: (RE)GROUNDING>, <Contest: Субгранти для мистецьких проєктів>]> * /usr/local/lib/python3.12/site-packages/django/db/models/query.py, line 1494, in _filter_or_exclude 1487. if (args or kwargs) and self.query.is_sliced: 1488. raise TypeError("Cannot filter a query once a slice has been taken.") 1489. clone = self._chain() 1490. if self._defer_next_filter: 1491. self._defer_next_filter = False 1492. clone._deferred_filter = negate, args, kwargs 1493. else: 1494. clone._filter_or_exclude_inplace(negate, args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … 1495. return clone 1496. 1497. def _filter_or_exclude_inplace(self, negate, args, kwargs): 1498. if negate: 1499. self._query.add_q(~Q(*args, **kwargs)) 1500. else: Local vars Variable Value args () clone <TranslatableQuerySet [<Contest: Конкурс міні-проєктів "Адаптація та доступність: інклюзивна культура">, <Contest: Резиденція «Українські Екології»>, <Contest: Спадщина. Практична робота. Опен кол для митців та мисткинь для участі у програмі резиденцій в Україні>, <Contest: Active City(ZENS). Відкритий конкурс на участь в резиденції у Берліні>, <Contest: ZMINA: Rebuilding. Друга хвиля заявок на міжнародні проєкти>, <Contest: Спадщина. Простір для роботи>, <Contest: ZMINA: Rebuilding. Друга хвиля національних субгрантів>, <Contest: ZMINA: Rebuilding. Перша хвиля заявок на міжнародні проєкти>, <Contest: Заземлення. Інвазія. Відкритий конкурс на участь у програмі віртуальних резиденцій для українських митців та мисткинь>, <Contest: ZMINA: Rebuilding. Перша хвиля національних субгрантів>, <Contest: ZMINA: Rebuilding. Пошук оцінювачів та оцінювачок // Open call for project evaluators>, <Contest: Невідкладна допомога для громад>, <Contest: ZMINA 2.0 Project Evaluator>, <Contest: IZOLYATSIA Communication manager>, <Contest: IZOLYATSIA Communication and SMM manager>, <Contest: Екстрена допомога для працівників культури>, <Contest: Субгранти для культурних проєктів. Друга хвиля.>, <Contest: Екстрена допомога для працівників культури (3-тя хвиля)>, <Contest: (RE)GROUNDING>, <Contest: Субгранти для мистецьких проєктів>]> kwargs {'pk': '0e1b92d2-8994-4a7c-b994'} negate False self <TranslatableQuerySet [<Contest: Конкурс міні-проєктів "Адаптація та доступність: інклюзивна культура">, <Contest: Резиденція «Українські Екології»>, <Contest: Спадщина. Практична робота. Опен кол для митців та мисткинь для участі у програмі резиденцій в Україні>, <Contest: Active City(ZENS). Відкритий конкурс на участь в резиденції у Берліні>, <Contest: ZMINA: Rebuilding. Друга хвиля заявок на міжнародні проєкти>, <Contest: Спадщина. Простір для роботи>, <Contest: ZMINA: Rebuilding. Друга хвиля національних субгрантів>, <Contest: ZMINA: Rebuilding. Перша хвиля заявок на міжнародні проєкти>, <Contest: Заземлення. Інвазія. Відкритий конкурс на участь у програмі віртуальних резиденцій для українських митців та мисткинь>, <Contest: ZMINA: Rebuilding. Перша хвиля національних субгрантів>, <Contest: ZMINA: Rebuilding. Пошук оцінювачів та оцінювачок // Open call for project evaluators>, <Contest: Невідкладна допомога для громад>, <Contest: ZMINA 2.0 Project Evaluator>, <Contest: IZOLYATSIA Communication manager>, <Contest: IZOLYATSIA Communication and SMM manager>, <Contest: Екстрена допомога для працівників культури>, <Contest: Субгранти для культурних проєктів. Друга хвиля.>, <Contest: Екстрена допомога для працівників культури (3-тя хвиля)>, <Contest: (RE)GROUNDING>, <Contest: Субгранти для мистецьких проєктів>]> * /usr/local/lib/python3.12/site-packages/django/db/models/query.py, line 1501, in _filter_or_exclude_inplace 1494. clone._filter_or_exclude_inplace(negate, args, kwargs) 1495. return clone 1496. 1497. def _filter_or_exclude_inplace(self, negate, args, kwargs): 1498. if negate: 1499. self._query.add_q(~Q(*args, **kwargs)) 1500. else: 1501. self._query.add_q(Q(*args, **kwargs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … 1502. 1503. def complex_filter(self, filter_obj): 1504. """ 1505. Return a new QuerySet instance with filter_obj added to the filters. 1506. 1507. filter_obj can be a Q object or a dictionary of keyword lookup Local vars Variable Value args () kwargs {'pk': '0e1b92d2-8994-4a7c-b994'} negate False self <TranslatableQuerySet [<Contest: Конкурс міні-проєктів "Адаптація та доступність: інклюзивна культура">, <Contest: Резиденція «Українські Екології»>, <Contest: Спадщина. Практична робота. Опен кол для митців та мисткинь для участі у програмі резиденцій в Україні>, <Contest: Active City(ZENS). Відкритий конкурс на участь в резиденції у Берліні>, <Contest: ZMINA: Rebuilding. Друга хвиля заявок на міжнародні проєкти>, <Contest: Спадщина. Простір для роботи>, <Contest: ZMINA: Rebuilding. Друга хвиля національних субгрантів>, <Contest: ZMINA: Rebuilding. Перша хвиля заявок на міжнародні проєкти>, <Contest: Заземлення. Інвазія. Відкритий конкурс на участь у програмі віртуальних резиденцій для українських митців та мисткинь>, <Contest: ZMINA: Rebuilding. Перша хвиля національних субгрантів>, <Contest: ZMINA: Rebuilding. Пошук оцінювачів та оцінювачок // Open call for project evaluators>, <Contest: Невідкладна допомога для громад>, <Contest: ZMINA 2.0 Project Evaluator>, <Contest: IZOLYATSIA Communication manager>, <Contest: IZOLYATSIA Communication and SMM manager>, <Contest: Екстрена допомога для працівників культури>, <Contest: Субгранти для культурних проєктів. Друга хвиля.>, <Contest: Екстрена допомога для працівників культури (3-тя хвиля)>, <Contest: (RE)GROUNDING>, <Contest: Субгранти для мистецьких проєктів>]> * /usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py, line 1613, in add_q 1606. # type to remain inner. Existing outer joins can however be demoted. 1607. # (Consider case where rel_a is LOUTER and rel_a__col=1 is added - if 1608. # rel_a doesn't produce any rows, then the whole condition must fail. 1609. # So, demotion is OK. 1610. existing_inner = { 1611. a for a in self.alias_map if self.alias_map[a].join_type == INNER 1612. } 1613. clause, _ = self._add_q(q_object, self.used_aliases) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … 1614. if clause: 1615. self.where.add(clause, AND) 1616. self.demote_joins(existing_inner) 1617. 1618. def build_where(self, filter_expr): 1619. return self.build_filter(filter_expr, allow_joins=False)[0] Local vars Variable Value existing_inner set() q_object <Q: (AND: ('pk', '0e1b92d2-8994-4a7c-b994'))> self <django.db.models.sql.query.Query object at 0x7092d00a51f0> * /usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py, line 1645, in _add_q 1638. current_negated ^= q_object.negated 1639. branch_negated = branch_negated or q_object.negated 1640. target_clause = WhereNode(connector=connector, negated=q_object.negated) 1641. joinpromoter = JoinPromoter( 1642. q_object.connector, len(q_object.children), current_negated 1643. ) 1644. for child in q_object.children: 1645. child_clause, needed_inner = self.build_filter( … 1646. child, 1647. can_reuse=used_aliases, 1648. branch_negated=branch_negated, 1649. current_negated=current_negated, 1650. allow_joins=allow_joins, 1651. split_subq=split_subq, Local vars Variable Value allow_joins True branch_negated False check_filterable True child ('pk', '0e1b92d2-8994-4a7c-b994') connector 'AND' current_negated False joinpromoter JoinPromoter(connector='AND', num_children=1, negated=False) q_object <Q: (AND: ('pk', '0e1b92d2-8994-4a7c-b994'))> self <django.db.models.sql.query.Query object at 0x7092d00a51f0> split_subq True summarize False target_clause <WhereNode: (AND: )> update_join_types True used_aliases {'contests_contest'} * /usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py, line 1559, in build_filter 1552. else: 1553. col = MultiColSource( 1554. alias, targets, join_info.targets, join_info.final_field 1555. ) 1556. else: 1557. col = self._get_col(targets[0], join_info.final_field, alias) 1558. 1559. condition = self.build_lookup(lookups, col, value) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … 1560. lookup_type = condition.lookup_name 1561. clause = WhereNode([condition], connector=AND) 1562. 1563. require_outer = ( 1564. lookup_type == "isnull" and condition.rhs is True and not current_negated 1565. ) Local vars Variable Value alias 'contests_contest' allow_joins True allow_many True arg 'pk' branch_negated False can_reuse {'contests_contest'} check_filterable True col Col(contests_contest, contests.Contest.id) current_negated False filter_expr ('pk', '0e1b92d2-8994-4a7c-b994') join_info JoinInfo(final_field=<django.db.models.fields.UUIDField: id>, targets=(<django.db.models.fields.UUIDField: id>,), opts=<Options for Contest>, joins=['contests_contest'], path=[], transform_function=<function Query.setup_joins.<locals>.final_transformer at 0x7092cbf62700>) join_list ['contests_contest'] lookups [] opts <Options for Contest> parts ['pk'] pre_joins {} reffed_expression False self <django.db.models.sql.query.Query object at 0x7092d00a51f0> split_subq True summarize False targets (<django.db.models.fields.UUIDField: id>,) update_join_types True used_joins {'contests_contest'} value '0e1b92d2-8994-4a7c-b994' * /usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py, line 1389, in build_lookup 1382. # and do an Exact lookup against it. 1383. lhs = self.try_transform(lhs, lookup_name) 1384. lookup_name = "exact" 1385. lookup_class = lhs.get_lookup(lookup_name) 1386. if not lookup_class: 1387. return 1388. 1389. lookup = lookup_class(lhs, rhs) ^^^^^^^^^^^^^^^^^^^^^^ … 1390. # Interpret '__exact=None' as the sql 'is NULL'; otherwise, reject all 1391. # uses of None as a query value unless the lookup supports it. 1392. if lookup.rhs is None and not lookup.can_use_none_as_rhs: 1393. if lookup_name not in ("exact", "iexact"): 1394. raise ValueError("Cannot use None as a query value") 1395. return lhs.get_lookup("isnull")(lhs, True) Local vars Variable Value lhs Col(contests_contest, contests.Contest.id) lookup_class <class 'django.db.models.lookups.Exact'> lookup_name 'exact' lookups [] rhs '0e1b92d2-8994-4a7c-b994' self <django.db.models.sql.query.Query object at 0x7092d00a51f0> transforms [] * /usr/local/lib/python3.12/site-packages/django/db/models/lookups.py, line 30, in __init__ 23. class Lookup(Expression): 24. lookup_name = None 25. prepare_rhs = True 26. can_use_none_as_rhs = False 27. 28. def __init__(self, lhs, rhs): 29. self.lhs, self.rhs = lhs, rhs 30. self.rhs = self.get_prep_lookup() ^^^^^^^^^^^^^^^^^^^^^^ … 31. self.lhs = self.get_prep_lhs() 32. if hasattr(self.lhs, "get_bilateral_transforms"): 33. bilateral_transforms = self.lhs.get_bilateral_transforms() 34. else: 35. bilateral_transforms = [] 36. if bilateral_transforms: Local vars Variable Value lhs Col(contests_contest, contests.Contest.id) rhs '0e1b92d2-8994-4a7c-b994' self Exact(Col(contests_contest, contests.Contest.id), '0e1b92d2-8994-4a7c-b994') * /usr/local/lib/python3.12/site-packages/django/db/models/lookups.py, line 364, in get_prep_lookup 357. self.rhs.clear_select_clause() 358. self.rhs.add_fields(["pk"]) 359. else: 360. raise ValueError( 361. "The QuerySet value for an exact lookup must be limited to " 362. "one result using slicing." 363. ) 364. return super().get_prep_lookup() ^^^^^^^^^^^^^^^^^^^^^^^^^ … 365. 366. def as_sql(self, compiler, connection): 367. # Avoid comparison against direct rhs if lhs is a boolean value. That 368. # turns "boolfield__exact=True" into "WHERE boolean_field" instead of 369. # "WHERE boolean_field = True" when allowed. 370. if ( Local vars Variable Value Query <class 'django.db.models.sql.query.Query'> __class__ <class 'django.db.models.lookups.Exact'> self Exact(Col(contests_contest, contests.Contest.id), '0e1b92d2-8994-4a7c-b994') * /usr/local/lib/python3.12/site-packages/django/db/models/lookups.py, line 88, in get_prep_lookup 81. self.lhs, self.rhs = new_exprs 82. 83. def get_prep_lookup(self): 84. if not self.prepare_rhs or hasattr(self.rhs, "resolve_expression"): 85. return self.rhs 86. if hasattr(self.lhs, "output_field"): 87. if hasattr(self.lhs.output_field, "get_prep_value"): 88. return self.lhs.output_field.get_prep_value(self.rhs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … 89. elif self.rhs_is_direct_value(): 90. return Value(self.rhs) 91. return self.rhs 92. 93. def get_prep_lhs(self): 94. if hasattr(self.lhs, "resolve_expression"): Local vars Variable Value self Exact(Col(contests_contest, contests.Contest.id), '0e1b92d2-8994-4a7c-b994') * /usr/local/lib/python3.12/site-packages/django/db/models/fields/__init__.py, line 2736, in get_prep_value 2729. return name, path, args, kwargs 2730. 2731. def get_internal_type(self): 2732. return "UUIDField" 2733. 2734. def get_prep_value(self, value): 2735. value = super().get_prep_value(value) 2736. return self.to_python(value) ^^^^^^^^^^^^^^^^^^^^^ … 2737. 2738. def get_db_prep_value(self, value, connection, prepared=False): 2739. if value is None: 2740. return None 2741. if not isinstance(value, uuid.UUID): 2742. value = self.to_python(value) Local vars Variable Value __class__ <class 'django.db.models.fields.UUIDField'> self <django.db.models.fields.UUIDField: id> value '0e1b92d2-8994-4a7c-b994' * /usr/local/lib/python3.12/site-packages/django/db/models/fields/__init__.py, line 2754, in to_python 2747. 2748. def to_python(self, value): 2749. if value is not None and not isinstance(value, uuid.UUID): 2750. input_form = "int" if isinstance(value, int) else "hex" 2751. try: 2752. return uuid.UUID(**{input_form: value}) 2753. except (AttributeError, ValueError): 2754. raise exceptions.ValidationError( ^ … 2755. self.error_messages["invalid"], 2756. code="invalid", 2757. params={"value": value}, 2758. ) 2759. return value 2760. Local vars Variable Value input_form 'hex' self <django.db.models.fields.UUIDField: id> value '0e1b92d2-8994-4a7c-b994' Environment: Request Method: GET Request URL: http://platform.izolyatsia.org/ua/contest/0e1b92d2-8994-4a7c-b994 Django Version: 5.0.6 Python Version: 3.12.4 Installed Applications: ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django_assets', 'markdownify.apps.MarkdownifyConfig', 'anymail', 'parler', 'channels', 'turbo', 'mptt', 'apps.users', 'apps.frontend', 'apps.office', 'apps.contests', 'apps.form_manager', 'apps.file_manager', 'apps.back_office', 'apps.mailer', 'apps.evaluation', 'apps.monitoring', 'apps.materials_approval', 'apps.calendar_planning', 'apps.logger'] Installed Middleware: ['django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'apps.users.middleware.UserLocaleMiddleware', 'apps.users.middleware.ForceDefaultLanguageMiddleware', 'apps.users.middleware.UserTimezoneMiddleware', 'django.middleware.locale.LocaleMiddleware', 'glass.middleware.RequestDataTooBigMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] Traceback (most recent call last): File "/usr/local/lib/python3.12/site-packages/django/db/models/fields/__init__.py", line 2752, in to_python return uuid.UUID(**{input_form: value}) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/uuid.py", line 178, in __init__ raise ValueError('badly formed hexadecimal UUID string') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ During handling of the above exception (badly formed hexadecimal UUID string), another exception occurred: File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner response = await get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async response = await wrapped_callback( File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 104, in view return self.dispatch(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 143, in dispatch return handler(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/views/generic/detail.py", line 108, in get self.object = self.get_object() ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/views/generic/detail.py", line 37, in get_object queryset = queryset.filter(pk=pk) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 1476, in filter return self._filter_or_exclude(False, args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 1494, in _filter_or_exclude clone._filter_or_exclude_inplace(negate, args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 1501, in _filter_or_exclude_inplace self._query.add_q(Q(*args, **kwargs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1613, in add_q clause, _ = self._add_q(q_object, self.used_aliases) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1645, in _add_q child_clause, needed_inner = self.build_filter( File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1559, in build_filter condition = self.build_lookup(lookups, col, value) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1389, in build_lookup lookup = lookup_class(lhs, rhs) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/lookups.py", line 30, in __init__ self.rhs = self.get_prep_lookup() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/lookups.py", line 364, in get_prep_lookup return super().get_prep_lookup() ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/lookups.py", line 88, in get_prep_lookup return self.lhs.output_field.get_prep_value(self.rhs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/fields/__init__.py", line 2736, in get_prep_value return self.to_python(value) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/django/db/models/fields/__init__.py", line 2754, in to_python raise exceptions.ValidationError( ^ Exception Type: ValidationError at /ua/contest/0e1b92d2-8994-4a7c-b994 Exception Value: ['“0e1b92d2-8994-4a7c-b994” is not a valid UUID.'] REQUEST INFORMATION USER AnonymousUser GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' HTTP_ACCEPT_ENCODING 'gzip, br' HTTP_CDN_LOOP 'cloudflare; loops=1' HTTP_CF_CONNECTING_IP '146.70.161.188' HTTP_CF_IPCOUNTRY 'PL' HTTP_CF_RAY '8ef84ed6be3b3510-WAW' HTTP_CF_VISITOR '{"scheme":"https"}' HTTP_CONNECTION 'close' HTTP_HOST 'platform.izolyatsia.org' HTTP_PRIORITY 'u=0, i' HTTP_SEC_FETCH_DEST 'document' HTTP_SEC_FETCH_MODE 'navigate' HTTP_SEC_FETCH_SITE 'none' HTTP_SEC_FETCH_USER '?1' HTTP_UBER_TRACE_ID '4cdfa0791f88c08c:1f2a47297fe2e177:4cdfa0791f88c08c:1' HTTP_UPGRADE_INSECURE_REQUESTS '1' HTTP_USER_AGENT ('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/131.0.0.0 Safari/537.36') HTTP_X_FORWARDED_FOR '162.158.102.133, 172.22.0.27' HTTP_X_FORWARDED_HOST 'platform.izolyatsia.org' HTTP_X_FORWARDED_PORT '443' HTTP_X_FORWARDED_PROTO 'http' HTTP_X_FORWARDED_SERVER '64333751ae4b' HTTP_X_REAL_IP '162.158.102.133' PATH_INFO '/ua/contest/0e1b92d2-8994-4a7c-b994' QUERY_STRING '' REMOTE_ADDR '172.18.0.4' REMOTE_HOST '172.18.0.4' REMOTE_PORT 36036 REQUEST_METHOD 'GET' SCRIPT_NAME '' SERVER_NAME '172.18.0.2' SERVER_PORT '8010' wsgi.multiprocess True wsgi.multithread True SETTINGS USING SETTINGS MODULE GLASS.SETTINGS Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS [] ALLOWED_HOSTS ['platform.izolyatsia.org', '127.0.0.1', 'django', 'platform.izolyatsia.org', '172.22.0.21'] ANYMAIL {'MAILGUN_API_KEY': '********************', 'MAILGUN_API_URL': '********************', 'MAILGUN_SENDER_DOMAIN': 'platform.izolyatsia.org', 'MAILGUN_WEBHOOK_SIGNING_KEY': '********************', 'WEBHOOK_SECRET': '********************'} APPEND_SLASH True ASSETS_AUTO_BUILD True ASSETS_CACHE True ASSETS_CACHE_FILE_MODE None ASSETS_DEBUG False ASSETS_LOAD_PATH [] ASSETS_MANIFEST 'cache' ASSETS_UPDATER 'timestamp' ASSETS_URL_EXPIRE None ASSETS_URL_MAPPING {} ASSETS_VERSIONS 'hash' AUTHENTICATION_BACKENDS ['django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS '********************' AUTH_USER_MODEL 'users.User' BASE_DIR PosixPath('/opt/app/looking-glass') CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} CACHE_MIDDLEWARE_ALIAS 'default' CACHE_MIDDLEWARE_KEY_PREFIX '********************' CACHE_MIDDLEWARE_SECONDS 600 CHANNEL_LAYERS {'default': {'BACKEND': 'channels_redis.core.RedisChannelLayer', 'CONFIG': {'hosts': [('redis', 6379)]}}} CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME 'csrftoken' CSRF_COOKIE_PATH '/' CSRF_COOKIE_SAMESITE 'Lax' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW 'django.views.csrf.csrf_failure' CSRF_HEADER_NAME 'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS ['https://platform.izolyatsia.org', 'https://platform.izolyatsia.org'] CSRF_USE_SESSIONS False DATABASES {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_HEALTH_CHECKS': False, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': 'db', 'NAME': 'platform', 'OPTIONS': {'charset': 'utf8mb4'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'platform'}} DATABASE_ROUTERS [] DATA_UPLOAD_MAX_MEMORY_SIZE 36700160 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATA_UPLOAD_MAX_NUMBER_FILES 100 DATETIME_FORMAT 'N j, Y, P' DATETIME_INPUT_FORMATS ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] DATE_FORMAT 'N j, Y' DATE_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'] DEBUG True DEBUG_PROPAGATE_EXCEPTIONS False DECIMAL_SEPARATOR '.' DEFAULT_AUTO_FIELD 'django.db.models.BigAutoField' DEFAULT_CHARSET 'utf-8' DEFAULT_EXCEPTION_REPORTER 'django.views.debug.ExceptionReporter' DEFAULT_EXCEPTION_REPORTER_FILTER 'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE 'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL 'noreply@platform.izolyatsia.org' DEFAULT_INDEX_TABLESPACE '' DEFAULT_TABLESPACE '' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND 'anymail.backends.mailgun.EmailBackend' EMAIL_HOST 'localhost' EMAIL_HOST_PASSWORD '********************' EMAIL_HOST_USER '' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE '********************' EMAIL_SUBJECT_PREFIX '[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 26214400 FILE_UPLOAD_PERMISSIONS 420 FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORMS_URLFIELD_ASSUME_HTTPS False FORM_RENDERER 'django.forms.renderers.DjangoTemplates' GOOGLE_MAPS_API_KEY '********************' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django_assets', 'markdownify.apps.MarkdownifyConfig', 'anymail', 'parler', 'channels', 'turbo', 'mptt', 'apps.users', 'apps.frontend', 'apps.office', 'apps.contests', 'apps.form_manager', 'apps.file_manager', 'apps.back_office', 'apps.mailer', 'apps.evaluation', 'apps.monitoring', 'apps.materials_approval', 'apps.calendar_planning', 'apps.logger'] INTERNAL_IPS [] LANGUAGES [('ua', 'Українська'), ('en', 'English')] LANGUAGES_BIDI ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ug', 'ur'] LANGUAGE_CODE 'ua' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_HTTPONLY False LANGUAGE_COOKIE_NAME 'django_language' LANGUAGE_COOKIE_PATH '/' LANGUAGE_COOKIE_SAMESITE None LANGUAGE_COOKIE_SECURE False LOCALE_PATHS ['/opt/app/locale'] LOGGING {'disable_existing_loggers': False, 'formatters': {'timestamp': {'format': '{asctime} {levelname} {message}', 'style': '{'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'level': 'DEBUG'}, 'file': {'class': 'logging.FileHandler', 'filename': 'logs/debug.log', 'formatter': 'timestamp', 'level': 'WARN'}}, 'loggers': {'django': {'handlers': ['file'], 'level': 'WARN', 'propagate': True}}, 'version': 1} LOGGING_CONFIG 'logging.config.dictConfig' LOGIN_REDIRECT_URL '/ua/office/' LOGIN_URL '/ua/accounts/login/' LOGOUT_REDIRECT_URL '/' MAILER_ENABLED True MAINTENANCE_MODE {'MAINTENANCE': False, 'MAINTENANCE_MESSAGE': '🎈 Platform is undergoing maintenance. \nПлатформа перебуває на технічному обслуговуванні.'} MANAGERS [] MEDIA_ROOT '/opt/app/media' MEDIA_URL '/media/' MESSAGE_STORAGE 'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE ['django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'apps.users.middleware.UserLocaleMiddleware', 'apps.users.middleware.ForceDefaultLanguageMiddleware', 'apps.users.middleware.UserTimezoneMiddleware', 'django.middleware.locale.LocaleMiddleware', 'glass.middleware.RequestDataTooBigMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] MIGRATION_MODULES {} MONTH_DAY_FORMAT 'F j' NUMBER_GROUPING 0 PARENT_DIR PosixPath('/opt/app') PARLER_DEFAULT_LANGUAGE_CODE 'ua' PARLER_LANGUAGES {None: ({'code': 'ua', 'fallbacks': ['ua'], 'hide_untranslated': False}, {'code': 'en', 'fallbacks': ['ua'], 'hide_untranslated': False}), 'default': {'code': 'ua', 'fallbacks': ['ua'], 'hide_untranslated': False}} PASSWORD_HASHERS '********************' PASSWORD_RESET_TIMEOUT '********************' PLATFORM 'platform' PREPEND_WWW False RESOLVER <django_assets.env.DjangoResolver object at 0x7092d08bb230> ROLLBAR {'access_token': '********************', 'environment': 'platform', 'root': PosixPath('/opt/app/looking-glass')} ROOT_URLCONF 'glass.urls' SECRET_KEY '********************' SECRET_KEY_FALLBACKS '********************' SECURE_CONTENT_TYPE_NOSNIFF True SECURE_CROSS_ORIGIN_OPENER_POLICY 'same-origin' SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_REFERRER_POLICY 'same-origin' SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL 'noreply@platform.izolyatsia.org' SESSION_CACHE_ALIAS 'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME 'sessionid' SESSION_COOKIE_PATH '/' SESSION_COOKIE_SAMESITE 'Lax' SESSION_COOKIE_SECURE False SESSION_ENGINE 'django.contrib.sessions.backends.cached_db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER 'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'glass.settings' SHORT_DATETIME_FORMAT 'm/d/Y P' SHORT_DATE_FORMAT 'm/d/Y' SIGNING_BACKEND 'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] SLACK_CHANNEL '#platform' SLACK_ENABLED False SLACK_TOKEN '********************' STATICFILES_DIRS [] STATICFILES_FINDERS ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE 'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT '/opt/app/static' STATIC_URL '/static/' STORAGES {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'}, 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}} STORAGE_ROOT '/storage' STUFF_MEMBERS_EDIT_SUBMISSIONS True TEMPLATES [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [PosixPath('/opt/app/templates'), PosixPath('/opt/app/static/assets/js')], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.template.context_processors.i18n', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django.template.context_processors.media', 'django.template.context_processors.static', 'glass.context_processors.export_settings']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER 'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR ',' TIME_FORMAT 'P' TIME_INPUT_FORMATS ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] TIME_ZONE 'Europe/Kiev' USE_I18N True USE_THOUSAND_SEPARATOR False USE_TZ True USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION 'glass.wsgi.application' X_FRAME_OPTIONS 'DENY' YEAR_MONTH_FORMAT 'F Y' You’re seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code.