Cannot resolve keyword 'get_absolute_url' into field. Choices are: activity, activity_id, allow_stuffs, available_seats, booking, collaborator, conditions, created_at, date, description, ends_at, external, external_url, fees, id, intervention, is_free, location, location_id, members_only, needed_organizers, organization, organization_id, organizers, participations, presents, publish_at, published, registered, slug, starts_at, stuffs, updated_at
Request Method: | GET |
---|---|
Request URL: | https://reparons.org/bricologis/events/?sort=action |
Django Version: | 3.2.2 |
Exception Type: | FieldError |
Exception Value: | Cannot resolve keyword 'get_absolute_url' into field. Choices are: activity, activity_id, allow_stuffs, available_seats, booking, collaborator, conditions, created_at, date, description, ends_at, external, external_url, fees, id, intervention, is_free, location, location_id, members_only, needed_organizers, organization, organization_id, organizers, participations, presents, publish_at, published, registered, slug, starts_at, stuffs, updated_at |
Exception Location: | /usr/local/lib/python3.9/site-packages/django/db/models/sql/query.py, line 1537, in names_to_path |
Python Executable: | /usr/local/bin/uwsgi |
Python Version: | 3.9.17 |
Python Path: | ['.', '', '/usr/local/lib/python39.zip', '/usr/local/lib/python3.9', '/usr/local/lib/python3.9/lib-dynload', '/usr/local/lib/python3.9/site-packages', '/usr/local/lib/python3.9/site-packages/odf', '/usr/local/lib/python3.9/site-packages/odf', '/usr/local/lib/python3.9/site-packages/odf', '/usr/local/lib/python3.9/site-packages/odf', '/usr/local/lib/python3.9/site-packages/odf', '/usr/local/lib/python3.9/site-packages/odf', '/usr/local/lib/python3.9/site-packages/odf'] |
Server time: | Thu, 28 Mar 2024 23:10:29 +0100 |
/usr/local/lib/python3.9/site-packages/django/core/handlers/exception.py
, line 47, in inner
response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)
return response
return inner
else:
@wraps(get_response)
def inner(request):
try:
response = get_response(request)…
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | FieldError("Cannot resolve keyword 'get_absolute_url' into field. Choices are: activity, activity_id, allow_stuffs, available_seats, booking, collaborator, conditions, created_at, date, description, ends_at, external, external_url, fees, id, intervention, is_free, location, location_id, members_only, needed_organizers, organization, organization_id, organizers, participations, presents, publish_at, published, registered, slug, starts_at, stuffs, updated_at") |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f7fcd53b340>> |
request | <WSGIRequest: GET '/bricologis/events/?sort=action'> |
/usr/local/lib/python3.9/site-packages/django/core/handlers/base.py
, line 181, in _get_response
if response is None:
wrapped_callback = self.make_view_atomic(callback)
# If it is an asynchronous view, run it in a subthread.
if asyncio.iscoroutinefunction(wrapped_callback):
wrapped_callback = async_to_sync(wrapped_callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
# Complain if the view returned None (a common error).
Variable | Value |
---|---|
callback | <function OrganizationEventsView at 0x7f7fc904f430> |
callback_args | () |
callback_kwargs | {'orga_slug': 'bricologis'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f7fca783550>> |
request | <WSGIRequest: GET '/bricologis/events/?sort=action'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f7fcd53b340> |
wrapped_callback | <function OrganizationEventsView at 0x7f7fc904f430> |
/usr/local/lib/python3.9/site-packages/django/views/generic/base.py
, line 70, in view
self = cls(**initkwargs)
self.setup(request, *args, **kwargs)
if not hasattr(self, 'request'):
raise AttributeError(
"%s instance has no 'request' attribute. Did you override "
"setup() and forget to call super()?" % cls.__name__
)
return self.dispatch(request, *args, **kwargs)…
view.view_class = cls
view.view_initkwargs = initkwargs
# take name and docstring from class
update_wrapper(view, cls, updated=())
Variable | Value |
---|---|
args | () |
cls | <class 'openrepairplatform.views.OrganizationEventsView'> |
initkwargs | {} |
kwargs | {'orga_slug': 'bricologis'} |
request | <WSGIRequest: GET '/bricologis/events/?sort=action'> |
self | <openrepairplatform.views.OrganizationEventsView object at 0x7f7fc8064ca0> |
/usr/local/lib/python3.9/site-packages/django/views/generic/base.py
, line 98, in dispatch
# Try to dispatch to the right method; if a method doesn't exist,
# defer to the error handler. Also defer to the error handler if the
# request method isn't on the approved list.
if request.method.lower() in self.http_method_names:
handler = getattr(self, request.method.lower(), self.http_method_not_allowed)
else:
handler = self.http_method_not_allowed
return handler(request, *args, **kwargs)…
def http_method_not_allowed(self, request, *args, **kwargs):
logger.warning(
'Method Not Allowed (%s): %s', request.method, request.path,
extra={'status_code': 405, 'request': request}
)
Variable | Value |
---|---|
args | () |
handler | <bound method BaseFilterView.get of <openrepairplatform.views.OrganizationEventsView object at 0x7f7fc8064ca0>> |
kwargs | {'orga_slug': 'bricologis'} |
request | <WSGIRequest: GET '/bricologis/events/?sort=action'> |
self | <openrepairplatform.views.OrganizationEventsView object at 0x7f7fc8064ca0> |
/usr/local/lib/python3.9/site-packages/django_filters/views.py
, line 85, in get
self.filterset = self.get_filterset(filterset_class)
if not self.filterset.is_bound or self.filterset.is_valid() or not self.get_strict():
self.object_list = self.filterset.qs
else:
self.object_list = self.filterset.queryset.none()
context = self.get_context_data(filter=self.filterset,…
object_list=self.object_list)
return self.render_to_response(context)
class FilterView(MultipleObjectTemplateResponseMixin, BaseFilterView):
"""
Variable | Value |
---|---|
args | () |
filterset_class | <class 'openrepairplatform.filters.EventFilter'> |
kwargs | {'orga_slug': 'bricologis'} |
request | <WSGIRequest: GET '/bricologis/events/?sort=action'> |
self | <openrepairplatform.views.OrganizationEventsView object at 0x7f7fc8064ca0> |
/srv/app/./openrepairplatform/views.py
, line 134, in get_context_data
"organization__volunteers",
"organization__actives",
"organization__admins",
)
)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)…
organization = Organization.objects.get(slug=self.kwargs.get("orga_slug"))
context["events_tab"] = "active"
context["organization_menu"] = "active"
context["organization"] = organization
context["search_form"] = self.form_class
filtered_data = EventFilter(
Variable | Value |
---|---|
__class__ | <class 'openrepairplatform.views.OrganizationEventsView'> |
kwargs | {'filter': <openrepairplatform.filters.EventFilter object at 0x7f7fc8064430>, 'object_list': <QuerySet [<Event: Initiation au bricolage du 06 July>, <Event: Entretenir sa plomberie et son électricité du 29 June>, <Event: Fabrication d'un morpion bois parents / enfants du 15 June>, <Event: Fabrication et pose d'une étagère du 08 June>, <Event: Initiation au bricolage du 01 June>, <Event: Fabrication d'un porte manteau mural du 25 May>, <Event: Fabrication d'une lampe en bois du 18 May>, <Event: Initiation au bricolage du 04 May>, <Event: Initiation à la peinture du 27 April>, <Event: Initiation àla pose de faience du 20 April>, <Event: Fabrication de planche a découper du 13 April>, <Event: Initiation au bricolage du 06 April>, <Event: Initiation à la pose de papier peint du 30 March>, <Event: Réparation électronique collective du 23 March>, <Event: Parents/enfants Fabrication de jeux en bois du 16 March>, <Event: Initiation au bricolage du 02 March>, <Event: Initiation à l'aquarelle du 24 February>, <Event: Fabrication de nichoirs à oiseaux du 17 February>, <Event: Initiation à la pose de parquet du 10 February>, <Event: Initiation au bricolage du 03 February>, '...(remaining elements truncated)...']>} |
self | <openrepairplatform.views.OrganizationEventsView object at 0x7f7fc8064ca0> |
/srv/app/./openrepairplatform/user/mixins.py
, line 8, in get_context_data
class PermissionOrgaContextMixin:
"""
Adds some context variables: telling us which information the current user
can see in templates
"""
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)…
if hasattr(self.object, "organization"):
organization = self.object.organization
else:
organization = self.object
user = self.request.user
context["is_admin"] = user in organization.admins.all()
Variable | Value |
---|---|
__class__ | <class 'openrepairplatform.user.mixins.PermissionOrgaContextMixin'> |
kwargs | {'filter': <openrepairplatform.filters.EventFilter object at 0x7f7fc8064430>, 'object_list': <QuerySet [<Event: Initiation au bricolage du 06 July>, <Event: Entretenir sa plomberie et son électricité du 29 June>, <Event: Fabrication d'un morpion bois parents / enfants du 15 June>, <Event: Fabrication et pose d'une étagère du 08 June>, <Event: Initiation au bricolage du 01 June>, <Event: Fabrication d'un porte manteau mural du 25 May>, <Event: Fabrication d'une lampe en bois du 18 May>, <Event: Initiation au bricolage du 04 May>, <Event: Initiation à la peinture du 27 April>, <Event: Initiation àla pose de faience du 20 April>, <Event: Fabrication de planche a découper du 13 April>, <Event: Initiation au bricolage du 06 April>, <Event: Initiation à la pose de papier peint du 30 March>, <Event: Réparation électronique collective du 23 March>, <Event: Parents/enfants Fabrication de jeux en bois du 16 March>, <Event: Initiation au bricolage du 02 March>, <Event: Initiation à l'aquarelle du 24 February>, <Event: Fabrication de nichoirs à oiseaux du 17 February>, <Event: Initiation à la pose de parquet du 10 February>, <Event: Initiation au bricolage du 03 February>, '...(remaining elements truncated)...']>} |
self | <openrepairplatform.views.OrganizationEventsView object at 0x7f7fc8064ca0> |
/usr/local/lib/python3.9/site-packages/django_tables2/views.py
, line 161, in get_context_data
def get_context_data(self, **kwargs: Any) -> Dict[str, Any]:
"""
Overridden version of `.TemplateResponseMixin` to inject the table into
the template's context.
"""
context = super().get_context_data(**kwargs)
table = self.get_table(**self.get_table_kwargs())…
context[self.get_context_table_name(table)] = table
return context
class SingleTableView(SingleTableMixin, ListView):
"""
Variable | Value |
---|---|
__class__ | <class 'django_tables2.views.SingleTableMixin'> |
context | {'events': <QuerySet [<Event: Initiation au bricolage du 06 July>, <Event: Entretenir sa plomberie et son électricité du 29 June>, <Event: Fabrication d'un morpion bois parents / enfants du 15 June>, <Event: Fabrication et pose d'une étagère du 08 June>, <Event: Initiation au bricolage du 01 June>, <Event: Fabrication d'un porte manteau mural du 25 May>, <Event: Fabrication d'une lampe en bois du 18 May>, <Event: Initiation au bricolage du 04 May>, <Event: Initiation à la peinture du 27 April>, <Event: Initiation àla pose de faience du 20 April>, <Event: Fabrication de planche a découper du 13 April>, <Event: Initiation au bricolage du 06 April>, <Event: Initiation à la pose de papier peint du 30 March>, <Event: Réparation électronique collective du 23 March>, <Event: Parents/enfants Fabrication de jeux en bois du 16 March>, <Event: Initiation au bricolage du 02 March>, <Event: Initiation à l'aquarelle du 24 February>, <Event: Fabrication de nichoirs à oiseaux du 17 February>, <Event: Initiation à la pose de parquet du 10 February>, <Event: Initiation au bricolage du 03 February>]>, 'filter': <openrepairplatform.filters.EventFilter object at 0x7f7fc8064430>, 'is_paginated': True, 'object_list': <QuerySet [<Event: Initiation au bricolage du 06 July>, <Event: Entretenir sa plomberie et son électricité du 29 June>, <Event: Fabrication d'un morpion bois parents / enfants du 15 June>, <Event: Fabrication et pose d'une étagère du 08 June>, <Event: Initiation au bricolage du 01 June>, <Event: Fabrication d'un porte manteau mural du 25 May>, <Event: Fabrication d'une lampe en bois du 18 May>, <Event: Initiation au bricolage du 04 May>, <Event: Initiation à la peinture du 27 April>, <Event: Initiation àla pose de faience du 20 April>, <Event: Fabrication de planche a découper du 13 April>, <Event: Initiation au bricolage du 06 April>, <Event: Initiation à la pose de papier peint du 30 March>, <Event: Réparation électronique collective du 23 March>, <Event: Parents/enfants Fabrication de jeux en bois du 16 March>, <Event: Initiation au bricolage du 02 March>, <Event: Initiation à l'aquarelle du 24 February>, <Event: Fabrication de nichoirs à oiseaux du 17 February>, <Event: Initiation à la pose de parquet du 10 February>, <Event: Initiation au bricolage du 03 February>]>, 'page_obj': <Page 1 of 15>, 'paginator': <django.core.paginator.Paginator object at 0x7f7fc9319220>, 'view': <openrepairplatform.views.OrganizationEventsView object at 0x7f7fc8064ca0>} |
kwargs | {'filter': <openrepairplatform.filters.EventFilter object at 0x7f7fc8064430>, 'object_list': <QuerySet [<Event: Initiation au bricolage du 06 July>, <Event: Entretenir sa plomberie et son électricité du 29 June>, <Event: Fabrication d'un morpion bois parents / enfants du 15 June>, <Event: Fabrication et pose d'une étagère du 08 June>, <Event: Initiation au bricolage du 01 June>, <Event: Fabrication d'un porte manteau mural du 25 May>, <Event: Fabrication d'une lampe en bois du 18 May>, <Event: Initiation au bricolage du 04 May>, <Event: Initiation à la peinture du 27 April>, <Event: Initiation àla pose de faience du 20 April>, <Event: Fabrication de planche a découper du 13 April>, <Event: Initiation au bricolage du 06 April>, <Event: Initiation à la pose de papier peint du 30 March>, <Event: Réparation électronique collective du 23 March>, <Event: Parents/enfants Fabrication de jeux en bois du 16 March>, <Event: Initiation au bricolage du 02 March>, <Event: Initiation à l'aquarelle du 24 February>, <Event: Fabrication de nichoirs à oiseaux du 17 February>, <Event: Initiation à la pose de parquet du 10 February>, <Event: Initiation au bricolage du 03 February>, '...(remaining elements truncated)...']>} |
self | <openrepairplatform.views.OrganizationEventsView object at 0x7f7fc8064ca0> |
/usr/local/lib/python3.9/site-packages/django_tables2/views.py
, line 123, in get_table
def get_table(self, **kwargs):
"""
Return a table object to use. The table has automatic support for
sorting and pagination.
"""
table_class = self.get_table_class()
table = table_class(data=self.get_table_data(), **kwargs)
return RequestConfig(self.request, paginate=self.get_table_pagination(table)).configure(…
table
)
def get_table_data(self):
"""
Return the table data that should be used to populate the rows.
Variable | Value |
---|---|
kwargs | {} |
self | <openrepairplatform.views.OrganizationEventsView object at 0x7f7fc8064ca0> |
table | <openrepairplatform.tables.EventTable object at 0x7f7fc9319ee0> |
table_class | <class 'openrepairplatform.tables.EventTable'> |
/usr/local/lib/python3.9/site-packages/django_tables2/config.py
, line 44, in configure
Arguments:
table (`~.Table`): table to be configured
"""
table.request = self.request
order_by = self.request.GET.getlist(table.prefixed_order_by_field)
if order_by:
table.order_by = order_by…
if self.paginate:
if hasattr(self.paginate, "items"):
kwargs = dict(self.paginate)
else:
kwargs = {}
# extract some options from the request
Variable | Value |
---|---|
order_by | ['action'] |
self | <django_tables2.config.RequestConfig object at 0x7f7fc9319730> |
table | <openrepairplatform.tables.EventTable object at 0x7f7fc9319ee0> |
/usr/local/lib/python3.9/site-packages/django_tables2/tables.py
, line 542, in order_by
# everything's been converted to a iterable, accept iterable!
for alias in order_by:
name = OrderBy(alias).bare
if name in self.columns and self.columns[name].orderable:
valid.append(alias)
self._order_by = OrderByTuple(valid)
self.data.order_by(self._order_by)…
@property
def order_by_field(self):
return (
self._order_by_field if self._order_by_field is not None else self._meta.order_by_field
)
Variable | Value |
---|---|
alias | 'action' |
name | 'action' |
order_by | ['action'] |
self | <openrepairplatform.tables.EventTable object at 0x7f7fc9319ee0> |
valid | ['action'] |
value | ['action'] |
/usr/local/lib/python3.9/site-packages/django_tables2/data.py
, line 224, in order_by
# custom ordering
if modified_any:
return
# Traditional ordering
if accessors:
order_by_accessors = (a.for_queryset() for a in accessors)
self.data = self.data.order_by(*order_by_accessors)…
@cached_property
def verbose_name(self):
"""
The full (singular) name for the data.
Variable | Value |
---|---|
accessors | ['get_absolute_url'] |
alias | 'action' |
aliases | ('action',) |
bound_column | <django_tables2.columns.base.BoundColumn object at 0x7f7fc8059fa0> |
modified | False |
modified_any | False |
order_by_accessors | <generator object TableQuerysetData.order_by.<locals>.<genexpr> at 0x7f7fc82a2e40> |
queryset | <QuerySet [<Event: Initiation au bricolage du 06 July>, <Event: Entretenir sa plomberie et son électricité du 29 June>, <Event: Fabrication d'un morpion bois parents / enfants du 15 June>, <Event: Fabrication et pose d'une étagère du 08 June>, <Event: Initiation au bricolage du 01 June>, <Event: Fabrication d'un porte manteau mural du 25 May>, <Event: Fabrication d'une lampe en bois du 18 May>, <Event: Initiation au bricolage du 04 May>, <Event: Initiation à la peinture du 27 April>, <Event: Initiation àla pose de faience du 20 April>, <Event: Fabrication de planche a découper du 13 April>, <Event: Initiation au bricolage du 06 April>, <Event: Initiation à la pose de papier peint du 30 March>, <Event: Réparation électronique collective du 23 March>, <Event: Parents/enfants Fabrication de jeux en bois du 16 March>, <Event: Initiation au bricolage du 02 March>, <Event: Initiation à l'aquarelle du 24 February>, <Event: Fabrication de nichoirs à oiseaux du 17 February>, <Event: Initiation à la pose de parquet du 10 February>, <Event: Initiation au bricolage du 03 February>, '...(remaining elements truncated)...']> |
self | <django_tables2.data.TableQuerysetData object at 0x7f7fc9319130> |
/usr/local/lib/python3.9/site-packages/django/db/models/query.py
, line 1149, in order_by
def order_by(self, *field_names):
"""Return a new QuerySet instance with the ordering changed."""
assert not self.query.is_sliced, \
"Cannot reorder a query once a slice has been taken."
obj = self._chain()
obj.query.clear_ordering(force_empty=False)
obj.query.add_ordering(*field_names)…
return obj
def distinct(self, *field_names):
"""
Return a new QuerySet instance that will select only distinct results.
"""
Variable | Value |
---|---|
field_names | ('get_absolute_url',) |
obj | <QuerySet [<Event: Prêt d'outils du 13 October>, <Event: Réparation vélo du 08 April>, <Event: Initiation au bricolage du 07 August>, <Event: Permanence d'atelier du 20 April>, <Event: Permanence d'atelier du 27 April>, <Event: Permanence d'atelier du 04 May>, <Event: Permanence d'atelier du 11 May>, <Event: Permanence d'atelier du 23 June>, <Event: Journée portes ouverte de BRICOLOGIS du 06 December>, <Event: Initiation au bricolage du 15 May>, <Event: Relooking de meuble du 29 May>, <Event: Initiation au bricolage du 05 June>, <Event: Réparation vélo du 26 June>, <Event: Atelier initiation à la pose de parquet du 30 July>, <Event: Permanence d'atelier du 25 August>, <Event: Fabrication de cache pot en liège du 12 June>, <Event: Initiation au bricolage du 07 October>, <Event: Fabrication en bois et cuir du 19 June>, <Event: Permanence d'atelier du 26 June>, <Event: Initiation au bricolage du 03 July>, '...(remaining elements truncated)...']> |
self | <QuerySet [<Event: Initiation au bricolage du 06 July>, <Event: Entretenir sa plomberie et son électricité du 29 June>, <Event: Fabrication d'un morpion bois parents / enfants du 15 June>, <Event: Fabrication et pose d'une étagère du 08 June>, <Event: Initiation au bricolage du 01 June>, <Event: Fabrication d'un porte manteau mural du 25 May>, <Event: Fabrication d'une lampe en bois du 18 May>, <Event: Initiation au bricolage du 04 May>, <Event: Initiation à la peinture du 27 April>, <Event: Initiation àla pose de faience du 20 April>, <Event: Fabrication de planche a découper du 13 April>, <Event: Initiation au bricolage du 06 April>, <Event: Initiation à la pose de papier peint du 30 March>, <Event: Réparation électronique collective du 23 March>, <Event: Parents/enfants Fabrication de jeux en bois du 16 March>, <Event: Initiation au bricolage du 02 March>, <Event: Initiation à l'aquarelle du 24 February>, <Event: Fabrication de nichoirs à oiseaux du 17 February>, <Event: Initiation à la pose de parquet du 10 February>, <Event: Initiation au bricolage du 03 February>, '...(remaining elements truncated)...']> |
/usr/local/lib/python3.9/site-packages/django/db/models/sql/query.py
, line 1991, in add_ordering
item = item[1:]
if item in self.annotations:
continue
if self.extra and item in self.extra:
continue
# names_to_path() validates the lookup. A descriptive
# FieldError will be raise if it's not.
self.names_to_path(item.split(LOOKUP_SEP), self.model._meta)…
elif not hasattr(item, 'resolve_expression'):
errors.append(item)
if getattr(item, 'contains_aggregate', False):
raise FieldError(
'Using an aggregate in order_by() without also including '
'it in annotate() is not allowed: %s' % item
Variable | Value |
---|---|
errors | [] |
item | 'get_absolute_url' |
ordering | ('get_absolute_url',) |
self | <django.db.models.sql.query.Query object at 0x7f7fc8059d60> |
/usr/local/lib/python3.9/site-packages/django/db/models/sql/query.py
, line 1537, in names_to_path
pos -= 1
if pos == -1 or fail_on_missing:
available = sorted([
*get_field_names_from_opts(opts),
*self.annotation_select,
*self._filtered_relations,
])
raise FieldError("Cannot resolve keyword '%s' into field. "…
"Choices are: %s" % (name, ", ".join(available)))
break
# Check if we need any joins for concrete inheritance cases (the
# field lives in parent, but we are currently in one of its
# children)
if model is not opts.model:
Variable | Value |
---|---|
allow_many | True |
available | ['activity', 'activity_id', 'allow_stuffs', 'available_seats', 'booking', 'collaborator', 'conditions', 'created_at', 'date', 'description', 'ends_at', 'external', 'external_url', 'fees', 'id', 'intervention', 'is_free', 'location', 'location_id', 'members_only', 'needed_organizers', 'organization', 'organization_id', 'organizers', 'participations', 'presents', 'publish_at', 'published', 'registered', 'slug', 'starts_at', 'stuffs', 'updated_at'] |
cur_names_with_path | ('get_absolute_url', []) |
fail_on_missing | False |
field | None |
filtered_relation | None |
name | 'get_absolute_url' |
names | ['get_absolute_url'] |
names_with_path | [] |
opts | <Options for Event> |
path | [] |
pos | -1 |
self | <django.db.models.sql.query.Query object at 0x7f7fc8059d60> |
AnonymousUser
Variable | Value |
---|---|
sort | 'action' |
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CONTENT_LENGTH | '' |
CONTENT_TYPE | '' |
DOCUMENT_ROOT | '/etc/nginx/html' |
HTTPS | 'on' |
HTTP_ACCEPT | '*/*' |
HTTP_HOST | 'reparons.org' |
HTTP_USER_AGENT | 'claudebot' |
PATH_INFO | '/bricologis/events/' |
QUERY_STRING | 'sort=action' |
REMOTE_ADDR | '100.26.35.111' |
REMOTE_PORT | '49514' |
REQUEST_METHOD | 'GET' |
REQUEST_SCHEME | 'https' |
REQUEST_URI | '/bricologis/events/?sort=action' |
SCRIPT_NAME | '' |
SERVER_NAME | 'reparons.org' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/2.0' |
uwsgi.core | 0 |
uwsgi.node | b'22645aef9994' |
uwsgi.version | b'2.0.23' |
wsgi.errors | <_io.TextIOWrapper name=2 mode='w' encoding='ISO-8859-1'> |
wsgi.file_wrapper | <built-in function uwsgi_sendfile> |
wsgi.input | <uwsgi._Input object at 0x7f7fc3a27550> |
wsgi.multiprocess | True |
wsgi.multithread | True |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
openrepairplatform.settings.prod
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['reparons.org', 'localhost', '127.0.0.1', '[::1]'] |
ANYMAIL | {'MAILJET_API_KEY': '********************', 'MAILJET_SECRET_KEY': '********************'} |
APPEND_SLASH | True |
ASSETS_AUTO_BUILD | True |
ASSETS_CACHE | True |
ASSETS_DEBUG | False |
ASSETS_LOAD_PATH | [] |
ASSETS_MANIFEST | 'cache' |
ASSETS_MODULES | ['openrepairplatform.assets'] |
ASSETS_ROOT | '/srv/static/' |
ASSETS_UPDATER | 'timestamp' |
ASSETS_URL_EXPIRE | None |
ASSETS_URL_MAPPING | {} |
ASSETS_VERSIONS | 'hash' |
AUTHENTICATION_BACKENDS | ('django.contrib.auth.backends.ModelBackend',) |
AUTH_PASSWORD_VALIDATION | '********************' |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'user.CustomUser' |
AVATAR_COLORS | ((254, 229, 110), (8, 51, 66), (43, 230, 171)) |
BASE_DIR | '/srv/app' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_FILE_MODE | None |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
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 | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.contrib.gis.db.backends.postgis', 'HOST': 'db', 'NAME': 'ateliersoude', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'ateliersoude'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
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.AutoField' |
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 | 'no-reply@reparons.org' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
DJANGO_TABLES2_TEMPLATE | 'django_tables2/bootstrap5.html' |
EMAIL_BACKEND | 'anymail.backends.mailjet.EmailBackend' |
EMAIL_FILE_PATH | '/srv/app/tmp/messages' |
EMAIL_HOST | 'mail.reparons.org' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'no-reply@reparons.org' |
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.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['dal', 'dal_select2', 'tinymce', 'openrepairplatform.user', 'openrepairplatform.event', 'openrepairplatform.location', 'openrepairplatform.inventory', 'django.contrib.sites', 'django.contrib.admin', 'django.contrib.admindocs', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.staticfiles', 'django.contrib.messages', 'django.contrib.gis', 'simple_history', 'rest_framework', 'fontawesome', 'django_assets', 'bootstrap5', 'sorl.thumbnail', 'import_export', 'initial_avatars', 'django_gravatar', 'django_extensions', 'django_tables2', 'django_tables2_column_shifter', 'django_filters', 'treebeard', 'bootstrap_modal_forms', 'django_better_admin_arrayfield'] |
INTERNAL_IPS | ['127.0.0.1', '0.0.0.0'] |
KM_DISTANCE | 50 |
LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz', 'Algerian Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('ig', 'Igbo'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tg', 'Tajik'), ('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'fr-fr' |
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 | [] |
LOCATION | True |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MAILJET | True |
MANAGERS | [] |
MEDIA_ROOT | '/srv/media/' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MESSAGE_TAGS | {40: 'danger'} |
MIDDLEWARE | ['django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.locale.LocaleMiddleware', 'simple_history.middleware.HistoryRequestMiddleware', 'openrepairplatform.event.middleware.middleware.ForceLangMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
PREPROD | 'False' |
PROJECT_DIR | '/srv/app/openrepairplatform' |
RESOLVER | <django_assets.env.DjangoResolver object at 0x7f7fc8955df0> |
ROOT_URLCONF | 'openrepairplatform.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | True |
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 | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 2419200 |
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.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 | 'openrepairplatform.settings.prod' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SITE_ID | 1 |
STATICFILES_DIRS | ['/srv/app/openrepairplatform/static/', '/srv/app/openrepairplatform/static/js', '/srv/app/openrepairplatform/static/css', '/srv/app/openrepairplatform/static/scss'] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/srv/static/' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/srv/app/openrepairplatform/templates'], 'OPTIONS': {'context_processors': ['openrepairplatform.context_processors.site_title', 'openrepairplatform.context_processors.settings_variables', 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}] |
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/Paris' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | True |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'openrepairplatform.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.