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

Form analysis 1 forms found in the DOM

Name: pasteformPOST 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.