['“24” is not a valid UUID.']
Request Method: | GET |
---|---|
Request URL: | https://www.impact-tourism.net/experience/24 |
Django Version: | 3.1.5 |
Exception Type: | ValidationError |
Exception Value: | ['“24” is not a valid UUID.'] |
Exception Location: | /home/django/impact-tourism/Engine/.venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py, line 2338, in to_python |
Python Executable: | /usr/local/bin/uwsgi |
Python Version: | 3.8.10 |
Python Path: | ['.', '', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/home/django/impact-tourism/Engine/.venv/lib/python3.8/site-packages'] |
Server time: | Fri, 29 Mar 2024 11:30:46 +0000 |
/home/django/impact-tourism/Engine/.venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py
, line 2336, in to_python
return value
return value.hex
def to_python(self, value):
if value is not None and not isinstance(value, uuid.UUID):
input_form = 'int' if isinstance(value, int) else 'hex'
try:
return uuid.UUID(**{input_form: value})…
except (AttributeError, ValueError):
raise exceptions.ValidationError(
self.error_messages['invalid'],
code='invalid',
params={'value': value},
)
Variable | Value |
---|---|
input_form | 'hex' |
self | <django.db.models.fields.UUIDField: id> |
value | '24' |
/usr/lib/python3.8/uuid.py
, line 171, in __init__
if [hex, bytes, bytes_le, fields, int].count(None) != 4:
raise TypeError('one of the hex, bytes, bytes_le, fields, '
'or int arguments must be given')
if hex is not None:
hex = hex.replace('urn:', '').replace('uuid:', '')
hex = hex.strip('{}').replace('-', '')
if len(hex) != 32:
raise ValueError('badly formed hexadecimal UUID string')…
int = int_(hex, 16)
if bytes_le is not None:
if len(bytes_le) != 16:
raise ValueError('bytes_le is not a 16-char string')
bytes = (bytes_le[4-1::-1] + bytes_le[6-1:4-1:-1] +
bytes_le[8-1:6-1:-1] + bytes_le[8:])
Variable | Value |
---|---|
bytes | None |
bytes_le | None |
fields | None |
hex | '24' |
int | None |
is_safe | <SafeUUID.unknown: None> |
self | Error in formatting: AttributeError: int |
version | None |
/home/django/impact-tourism/Engine/.venv/lib/python3.8/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 | ValidationError(['“24” is not a valid UUID.']) |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7ff70fe54160>> |
request | <WSGIRequest: GET '/experience/24'> |
/home/django/impact-tourism/Engine/.venv/lib/python3.8/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 experience at 0x7ff70da4ec10> |
callback_args | () |
callback_kwargs | {'product_id': '24'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7ff70e4e4ee0>> |
request | <WSGIRequest: GET '/experience/24'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7ff70fe54160> |
wrapped_callback | <function experience at 0x7ff70da4ec10> |
/home/django/impact-tourism/Engine/web/./apps/frontend/views.py
, line 70, in experience
no_products = products.count() == 0
context = dict(products=products, no_products=no_products)
return render(request, "experiences.html", context)
def experience(request, product_id):
product = (
Product.objects.filter(pk=product_id)…
.prefetch_related("productimage_set")
.first()
)
images = product.productimage_set.all()
grade_sum = product.impact.get("summary", {}).get("numerical", "Not Available")
Variable | Value |
---|---|
product_id | '24' |
request | <WSGIRequest: GET '/experience/24'> |
/home/django/impact-tourism/Engine/.venv/lib/python3.8/site-packages/django/db/models/manager.py
, line 85, in manager_method
def check(self, **kwargs):
return []
@classmethod
def _get_queryset_methods(cls, queryset_class):
def create_method(name, method):
def manager_method(self, *args, **kwargs):
return getattr(self.get_queryset(), name)(*args, **kwargs)…
manager_method.__name__ = method.__name__
manager_method.__doc__ = method.__doc__
return manager_method
new_methods = {}
for name, method in inspect.getmembers(queryset_class, predicate=inspect.isfunction):
Variable | Value |
---|---|
args | () |
kwargs | {'pk': '24'} |
name | 'filter' |
self | <django.db.models.manager.Manager object at 0x7ff713083070> |
/home/django/impact-tourism/Engine/.venv/lib/python3.8/site-packages/django/db/models/query.py
, line 942, in filter
def filter(self, *args, **kwargs):
"""
Return a new QuerySet instance with the args ANDed to the existing
set.
"""
self._not_support_combined_queries('filter')
return self._filter_or_exclude(False, *args, **kwargs)…
def exclude(self, *args, **kwargs):
"""
Return a new QuerySet instance with NOT (args) ANDed to the existing
set.
"""
Variable | Value |
---|---|
args | () |
kwargs | {'pk': '24'} |
self | <QuerySet [<Product: Product: The secrets of Margareta's Ring (901efedf-3935-4f97-aa2d-6ed97ad13386)>, <Product: Product: Cooking Bohinj style (1f095205-408d-4fdf-a54b-9dcfbb6a1e4f)>, <Product: Product: Culinary workshop at Gostilna dela (8c76139a-ee2f-4c66-99e9-76bfc27e395a)>, <Product: Product: Take a walk in the name of love (e26558a6-13a0-4cb1-ae1b-7801311e7d3b)>, <Product: Product: An infusion of old and new dishes (16a61390-3f24-46cc-a6b4-19d8e5383c72)>, <Product: Product: Taste the age-old dishes of Slovenia with a modern twist (17da1c51-8519-40e0-9309-71e14ba6ab2e)>, <Product: Product: A helping hand for the busy beekeeper (a9b9e1e6-e64c-4158-8e84-ca4ddb8a1f93)>, <Product: Product: Keeping Alpine traditions alive (79ebe799-d38f-406a-af20-24d0ba4c8862)>, <Product: Product: Taste the unspoilt flavours of nature (23ff6382-e534-4662-a49d-166da82fd01f)>, <Product: Product: Private half day cultural tour (977cdbf4-41fe-41b9-84f9-120004e63d93)>, <Product: Product: Fairy tales by the bonfire (f0b40e82-221b-45d2-96fb-ed776fd7c43c)>, <Product: Product: Experiencing the Karst way of life with Vipava valley gourmet indulgence (57fd5d03-54d9-4bcd-b6f8-440f3b1a5ec0)>, <Product: Product: Amazon of Europe Bike Trail – North Route (ef021935-3ff0-4c2f-a3e3-ce29d65de37f)>, <Product: Product: Keeping the Soca Valley pastures alive (3a545464-7452-4394-9b46-778b1209f385)>, <Product: Product: Second Fiddle – one meal can help make a difference (be86aed7-bec7-4797-b694-75f50d277473)>, <Product: Product: Supporting Biodynamic vineyards (1cf616e8-06dc-474a-826e-cb8e90c928c4)>, <Product: Product: Social & youth circus (7b1fed9a-dc24-49b6-bbd4-4862305124d4)>, <Product: Product: Volunteering at the Zavod Pod Strehco – a cousin canteen (b9a9fc3c-cf72-46d3-9d9b-8518841bc12e)>, <Product: Product: Saving the Tepka Pear Trees near Lake Bled (7d7ba350-bca0-48f1-961d-d35c03c333f8)>, <Product: Product: Local food walks with local people (4019aa24-9c67-4b31-bdb1-9e267b284a3f)>, '...(remaining elements truncated)...']> |
/home/django/impact-tourism/Engine/.venv/lib/python3.8/site-packages/django/db/models/query.py
, line 962, in _filter_or_exclude
"Cannot filter a query once a slice has been taken."
clone = self._chain()
if self._defer_next_filter:
self._defer_next_filter = False
clone._deferred_filter = negate, args, kwargs
else:
clone._filter_or_exclude_inplace(negate, *args, **kwargs)…
return clone
def _filter_or_exclude_inplace(self, negate, *args, **kwargs):
if negate:
self._query.add_q(~Q(*args, **kwargs))
else:
Variable | Value |
---|---|
args | () |
clone | <QuerySet [<Product: Product: The secrets of Margareta's Ring (901efedf-3935-4f97-aa2d-6ed97ad13386)>, <Product: Product: Cooking Bohinj style (1f095205-408d-4fdf-a54b-9dcfbb6a1e4f)>, <Product: Product: Culinary workshop at Gostilna dela (8c76139a-ee2f-4c66-99e9-76bfc27e395a)>, <Product: Product: Take a walk in the name of love (e26558a6-13a0-4cb1-ae1b-7801311e7d3b)>, <Product: Product: An infusion of old and new dishes (16a61390-3f24-46cc-a6b4-19d8e5383c72)>, <Product: Product: Taste the age-old dishes of Slovenia with a modern twist (17da1c51-8519-40e0-9309-71e14ba6ab2e)>, <Product: Product: A helping hand for the busy beekeeper (a9b9e1e6-e64c-4158-8e84-ca4ddb8a1f93)>, <Product: Product: Keeping Alpine traditions alive (79ebe799-d38f-406a-af20-24d0ba4c8862)>, <Product: Product: Taste the unspoilt flavours of nature (23ff6382-e534-4662-a49d-166da82fd01f)>, <Product: Product: Private half day cultural tour (977cdbf4-41fe-41b9-84f9-120004e63d93)>, <Product: Product: Fairy tales by the bonfire (f0b40e82-221b-45d2-96fb-ed776fd7c43c)>, <Product: Product: Experiencing the Karst way of life with Vipava valley gourmet indulgence (57fd5d03-54d9-4bcd-b6f8-440f3b1a5ec0)>, <Product: Product: Amazon of Europe Bike Trail – North Route (ef021935-3ff0-4c2f-a3e3-ce29d65de37f)>, <Product: Product: Keeping the Soca Valley pastures alive (3a545464-7452-4394-9b46-778b1209f385)>, <Product: Product: Second Fiddle – one meal can help make a difference (be86aed7-bec7-4797-b694-75f50d277473)>, <Product: Product: Supporting Biodynamic vineyards (1cf616e8-06dc-474a-826e-cb8e90c928c4)>, <Product: Product: Social & youth circus (7b1fed9a-dc24-49b6-bbd4-4862305124d4)>, <Product: Product: Volunteering at the Zavod Pod Strehco – a cousin canteen (b9a9fc3c-cf72-46d3-9d9b-8518841bc12e)>, <Product: Product: Saving the Tepka Pear Trees near Lake Bled (7d7ba350-bca0-48f1-961d-d35c03c333f8)>, <Product: Product: Local food walks with local people (4019aa24-9c67-4b31-bdb1-9e267b284a3f)>, '...(remaining elements truncated)...']> |
kwargs | {'pk': '24'} |
negate | False |
self | <QuerySet [<Product: Product: The secrets of Margareta's Ring (901efedf-3935-4f97-aa2d-6ed97ad13386)>, <Product: Product: Cooking Bohinj style (1f095205-408d-4fdf-a54b-9dcfbb6a1e4f)>, <Product: Product: Culinary workshop at Gostilna dela (8c76139a-ee2f-4c66-99e9-76bfc27e395a)>, <Product: Product: Take a walk in the name of love (e26558a6-13a0-4cb1-ae1b-7801311e7d3b)>, <Product: Product: An infusion of old and new dishes (16a61390-3f24-46cc-a6b4-19d8e5383c72)>, <Product: Product: Taste the age-old dishes of Slovenia with a modern twist (17da1c51-8519-40e0-9309-71e14ba6ab2e)>, <Product: Product: A helping hand for the busy beekeeper (a9b9e1e6-e64c-4158-8e84-ca4ddb8a1f93)>, <Product: Product: Keeping Alpine traditions alive (79ebe799-d38f-406a-af20-24d0ba4c8862)>, <Product: Product: Taste the unspoilt flavours of nature (23ff6382-e534-4662-a49d-166da82fd01f)>, <Product: Product: Private half day cultural tour (977cdbf4-41fe-41b9-84f9-120004e63d93)>, <Product: Product: Fairy tales by the bonfire (f0b40e82-221b-45d2-96fb-ed776fd7c43c)>, <Product: Product: Experiencing the Karst way of life with Vipava valley gourmet indulgence (57fd5d03-54d9-4bcd-b6f8-440f3b1a5ec0)>, <Product: Product: Amazon of Europe Bike Trail – North Route (ef021935-3ff0-4c2f-a3e3-ce29d65de37f)>, <Product: Product: Keeping the Soca Valley pastures alive (3a545464-7452-4394-9b46-778b1209f385)>, <Product: Product: Second Fiddle – one meal can help make a difference (be86aed7-bec7-4797-b694-75f50d277473)>, <Product: Product: Supporting Biodynamic vineyards (1cf616e8-06dc-474a-826e-cb8e90c928c4)>, <Product: Product: Social & youth circus (7b1fed9a-dc24-49b6-bbd4-4862305124d4)>, <Product: Product: Volunteering at the Zavod Pod Strehco – a cousin canteen (b9a9fc3c-cf72-46d3-9d9b-8518841bc12e)>, <Product: Product: Saving the Tepka Pear Trees near Lake Bled (7d7ba350-bca0-48f1-961d-d35c03c333f8)>, <Product: Product: Local food walks with local people (4019aa24-9c67-4b31-bdb1-9e267b284a3f)>, '...(remaining elements truncated)...']> |
/home/django/impact-tourism/Engine/.venv/lib/python3.8/site-packages/django/db/models/query.py
, line 969, in _filter_or_exclude_inplace
clone._filter_or_exclude_inplace(negate, *args, **kwargs)
return clone
def _filter_or_exclude_inplace(self, negate, *args, **kwargs):
if negate:
self._query.add_q(~Q(*args, **kwargs))
else:
self._query.add_q(Q(*args, **kwargs))…
def complex_filter(self, filter_obj):
"""
Return a new QuerySet instance with filter_obj added to the filters.
filter_obj can be a Q object or a dictionary of keyword lookup
Variable | Value |
---|---|
args | () |
kwargs | {'pk': '24'} |
negate | False |
self | <QuerySet [<Product: Product: The secrets of Margareta's Ring (901efedf-3935-4f97-aa2d-6ed97ad13386)>, <Product: Product: Cooking Bohinj style (1f095205-408d-4fdf-a54b-9dcfbb6a1e4f)>, <Product: Product: Culinary workshop at Gostilna dela (8c76139a-ee2f-4c66-99e9-76bfc27e395a)>, <Product: Product: Take a walk in the name of love (e26558a6-13a0-4cb1-ae1b-7801311e7d3b)>, <Product: Product: An infusion of old and new dishes (16a61390-3f24-46cc-a6b4-19d8e5383c72)>, <Product: Product: Taste the age-old dishes of Slovenia with a modern twist (17da1c51-8519-40e0-9309-71e14ba6ab2e)>, <Product: Product: A helping hand for the busy beekeeper (a9b9e1e6-e64c-4158-8e84-ca4ddb8a1f93)>, <Product: Product: Keeping Alpine traditions alive (79ebe799-d38f-406a-af20-24d0ba4c8862)>, <Product: Product: Taste the unspoilt flavours of nature (23ff6382-e534-4662-a49d-166da82fd01f)>, <Product: Product: Private half day cultural tour (977cdbf4-41fe-41b9-84f9-120004e63d93)>, <Product: Product: Fairy tales by the bonfire (f0b40e82-221b-45d2-96fb-ed776fd7c43c)>, <Product: Product: Experiencing the Karst way of life with Vipava valley gourmet indulgence (57fd5d03-54d9-4bcd-b6f8-440f3b1a5ec0)>, <Product: Product: Amazon of Europe Bike Trail – North Route (ef021935-3ff0-4c2f-a3e3-ce29d65de37f)>, <Product: Product: Keeping the Soca Valley pastures alive (3a545464-7452-4394-9b46-778b1209f385)>, <Product: Product: Second Fiddle – one meal can help make a difference (be86aed7-bec7-4797-b694-75f50d277473)>, <Product: Product: Supporting Biodynamic vineyards (1cf616e8-06dc-474a-826e-cb8e90c928c4)>, <Product: Product: Social & youth circus (7b1fed9a-dc24-49b6-bbd4-4862305124d4)>, <Product: Product: Volunteering at the Zavod Pod Strehco – a cousin canteen (b9a9fc3c-cf72-46d3-9d9b-8518841bc12e)>, <Product: Product: Saving the Tepka Pear Trees near Lake Bled (7d7ba350-bca0-48f1-961d-d35c03c333f8)>, <Product: Product: Local food walks with local people (4019aa24-9c67-4b31-bdb1-9e267b284a3f)>, '...(remaining elements truncated)...']> |
/home/django/impact-tourism/Engine/.venv/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1358, in add_q
# For join promotion this case is doing an AND for the added q_object
# and existing conditions. So, any existing inner join forces the join
# type to remain inner. Existing outer joins can however be demoted.
# (Consider case where rel_a is LOUTER and rel_a__col=1 is added - if
# rel_a doesn't produce any rows, then the whole condition must fail.
# So, demotion is OK.
existing_inner = {a for a in self.alias_map if self.alias_map[a].join_type == INNER}
clause, _ = self._add_q(q_object, self.used_aliases)…
if clause:
self.where.add(clause, AND)
self.demote_joins(existing_inner)
def build_where(self, filter_expr):
return self.build_filter(filter_expr, allow_joins=False)[0]
Variable | Value |
---|---|
existing_inner | set() |
q_object | <Q: (AND: ('pk', '24'))> |
self | <django.db.models.sql.query.Query object at 0x7ff70c837910> |
/home/django/impact-tourism/Engine/.venv/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1377, in _add_q
connector = q_object.connector
current_negated = current_negated ^ q_object.negated
branch_negated = branch_negated or q_object.negated
target_clause = self.where_class(connector=connector,
negated=q_object.negated)
joinpromoter = JoinPromoter(q_object.connector, len(q_object.children), current_negated)
for child in q_object.children:
child_clause, needed_inner = self.build_filter(…
child, can_reuse=used_aliases, branch_negated=branch_negated,
current_negated=current_negated, allow_joins=allow_joins,
split_subq=split_subq, check_filterable=check_filterable,
)
joinpromoter.add_votes(needed_inner)
if child_clause:
Variable | Value |
---|---|
allow_joins | True |
branch_negated | False |
check_filterable | True |
child | ('pk', '24') |
connector | 'AND' |
current_negated | False |
joinpromoter | <django.db.models.sql.query.JoinPromoter object at 0x7ff70c8376d0> |
q_object | <Q: (AND: ('pk', '24'))> |
self | <django.db.models.sql.query.Query object at 0x7ff70c837910> |
split_subq | True |
target_clause | <WhereNode: (AND: )> |
used_aliases | {'product'} |
/home/django/impact-tourism/Engine/.venv/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1319, in build_filter
if len(targets) == 1:
col = self._get_col(targets[0], join_info.final_field, alias)
else:
col = MultiColSource(alias, targets, join_info.targets, join_info.final_field)
else:
col = self._get_col(targets[0], join_info.final_field, alias)
condition = self.build_lookup(lookups, col, value)…
lookup_type = condition.lookup_name
clause.add(condition, AND)
require_outer = lookup_type == 'isnull' and condition.rhs is True and not current_negated
if current_negated and (lookup_type != 'isnull' or condition.rhs is False) and condition.rhs is not None:
require_outer = True
Variable | Value |
---|---|
alias | 'product' |
allow_joins | True |
allow_many | True |
arg | 'pk' |
branch_negated | False |
can_reuse | {'product'} |
check_filterable | True |
clause | <WhereNode: (AND: )> |
col | Col(product, products.Product.id) |
current_negated | False |
filter_expr | ('pk', '24') |
join_info | JoinInfo(final_field=<django.db.models.fields.UUIDField: id>, targets=(<django.db.models.fields.UUIDField: id>,), opts=<Options for Product>, joins=['product'], path=[], transform_function=<function Query.setup_joins.<locals>.final_transformer at 0x7ff70c2ac820>) |
join_list | ['product'] |
lookups | [] |
opts | <Options for Product> |
parts | ['pk'] |
pre_joins | {} |
reffed_expression | False |
reuse_with_filtered_relation | False |
self | <django.db.models.sql.query.Query object at 0x7ff70c837910> |
split_subq | True |
targets | (<django.db.models.fields.UUIDField: id>,) |
used_joins | {'product'} |
value | '24' |
/home/django/impact-tourism/Engine/.venv/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1165, in build_lookup
# and do an Exact lookup against it.
lhs = self.try_transform(lhs, lookup_name)
lookup_name = 'exact'
lookup_class = lhs.get_lookup(lookup_name)
if not lookup_class:
return
lookup = lookup_class(lhs, rhs)…
# Interpret '__exact=None' as the sql 'is NULL'; otherwise, reject all
# uses of None as a query value unless the lookup supports it.
if lookup.rhs is None and not lookup.can_use_none_as_rhs:
if lookup_name not in ('exact', 'iexact'):
raise ValueError("Cannot use None as a query value")
return lhs.get_lookup('isnull')(lhs, True)
Variable | Value |
---|---|
lhs | Col(product, products.Product.id) |
lookup_class | <class 'django.db.models.lookups.Exact'> |
lookup_name | 'exact' |
lookups | [] |
rhs | '24' |
self | <django.db.models.sql.query.Query object at 0x7ff70c837910> |
transforms | [] |
/home/django/impact-tourism/Engine/.venv/lib/python3.8/site-packages/django/db/models/lookups.py
, line 24, in __init__
class Lookup:
lookup_name = None
prepare_rhs = True
can_use_none_as_rhs = False
def __init__(self, lhs, rhs):
self.lhs, self.rhs = lhs, rhs
self.rhs = self.get_prep_lookup()…
if hasattr(self.lhs, 'get_bilateral_transforms'):
bilateral_transforms = self.lhs.get_bilateral_transforms()
else:
bilateral_transforms = []
if bilateral_transforms:
# Warn the user as soon as possible if they are trying to apply
Variable | Value |
---|---|
lhs | Col(product, products.Product.id) |
rhs | '24' |
self | <django.db.models.lookups.Exact object at 0x7ff70c837d60> |
/home/django/impact-tourism/Engine/.venv/lib/python3.8/site-packages/django/db/models/lookups.py
, line 76, in get_prep_lookup
else:
self.lhs, self.rhs = new_exprs
def get_prep_lookup(self):
if hasattr(self.rhs, 'resolve_expression'):
return self.rhs
if self.prepare_rhs and hasattr(self.lhs.output_field, 'get_prep_value'):
return self.lhs.output_field.get_prep_value(self.rhs)…
return self.rhs
def get_db_prep_lookup(self, value, connection):
return ('%s', [value])
def process_lhs(self, compiler, connection, lhs=None):
Variable | Value |
---|---|
self | <django.db.models.lookups.Exact object at 0x7ff70c837d60> |
/home/django/impact-tourism/Engine/.venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py
, line 2320, in get_prep_value
return name, path, args, kwargs
def get_internal_type(self):
return "UUIDField"
def get_prep_value(self, value):
value = super().get_prep_value(value)
return self.to_python(value)…
def get_db_prep_value(self, value, connection, prepared=False):
if value is None:
return None
if not isinstance(value, uuid.UUID):
value = self.to_python(value)
Variable | Value |
---|---|
__class__ | <class 'django.db.models.fields.UUIDField'> |
self | <django.db.models.fields.UUIDField: id> |
value | '24' |
/home/django/impact-tourism/Engine/.venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py
, line 2338, in to_python
def to_python(self, value):
if value is not None and not isinstance(value, uuid.UUID):
input_form = 'int' if isinstance(value, int) else 'hex'
try:
return uuid.UUID(**{input_form: value})
except (AttributeError, ValueError):
raise exceptions.ValidationError(…
self.error_messages['invalid'],
code='invalid',
params={'value': value},
)
return value
Variable | Value |
---|---|
input_form | 'hex' |
self | <django.db.models.fields.UUIDField: id> |
value | '24' |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CONTENT_LENGTH | '' |
CONTENT_TYPE | '' |
DOCUMENT_ROOT | '/usr/share/nginx/html' |
HTTPS | 'on' |
HTTP_ACCEPT | '*/*' |
HTTP_HOST | 'www.impact-tourism.net' |
HTTP_REFERER | 'https://impact-tourism.net/experience/24' |
HTTP_USER_AGENT | 'claudebot' |
PATH_INFO | '/experience/24' |
QUERY_STRING | '' |
REMOTE_ADDR | '3.237.235.148' |
REMOTE_PORT | '58860' |
REQUEST_METHOD | 'GET' |
REQUEST_SCHEME | 'https' |
REQUEST_URI | '/experience/24' |
SCRIPT_NAME | '' |
SERVER_NAME | 'www.impact-tourism.net' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.1' |
uwsgi.node | b'impact-prod' |
uwsgi.version | b'2.0.19.1' |
wsgi.errors | <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'> |
wsgi.file_wrapper | <built-in function uwsgi_sendfile> |
wsgi.input | <uwsgi._Input object at 0x7ff70c865750> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
config.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ACCOUNT_ACTIVATION_DAYS | 7 |
ADMINS | [] |
ALLOWED_HOSTS | ['192.46.237.218', 'impact-tourism.net', 'www.impact-tourism.net'] |
APPEND_SLASH | False |
AUTHENTICATION_BACKENDS | ('social_core.backends.open_id.OpenIdAuth', 'social_core.backends.google.GoogleOpenId', 'social_core.backends.google.GoogleOAuth2', 'social_core.backends.google.GoogleOAuth', 'social_core.backends.twitter.TwitterOAuth', 'django.contrib.auth.backends.ModelBackend') |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'users.User' |
AWS_QUERYSTRING_AUTH | False |
BASE_DIR | '/home/django/impact-tourism/Engine/web' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'LOCATION': 'unique-snowflake'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CKEDITOR_UPLOAD_PATH | 'contentimages' |
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.db.backends.postgresql', 'HOST': 'localhost', 'NAME': 'impact', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': 5432, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'impact'}} |
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_CHARSET | 'utf-8' |
DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'core.utils.linode.LinodeFileStorage' |
DEFAULT_FROM_EMAIL | 'noreply@impact-tourism.net' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'mail.impact-tourism.net' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'noreply@impact-tourism.net' |
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 | True |
ENGINE_DIR | '/home/django/impact-tourism/Engine' |
ENVIRONMENT | 'production' |
ENV_IS_PROD_OR_STG | True |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', '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' |
GOOGLE_GEOCODING_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_extensions', 'mptt', 'django_filters', 'drf_yasg', 'ckeditor', 'ckeditor_uploader', 'social_django', 'rest_framework', 'webpack_loader', 'core.common', 'core.users', 'apps.backend', 'apps.customers', 'apps.frontend', 'apps.hosts', 'apps.payments', 'apps.products'] |
INTERNAL_IPS | [] |
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 | 'en-us' |
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 |
LINODE_OBJECTSTORAGE_ACCESS_KEY | '********************' |
LINODE_OBJECTSTORAGE_BUCKET_NAME | 'impact-tourism' |
LINODE_OBJECTSTORAGE_ENDPOINT_URL | 'https://eu-central-1.linodeobjects.com' |
LINODE_OBJECTSTORAGE_SECRET_KEY | '********************' |
LOCALE_PATHS | [] |
LOGGING | {'disable_existing_loggers': False, 'formatters': {'standard': {'datefmt': '%Y-%m-%d %H:%M:%S%z', 'format': '%(asctime)s %(levelname)s --- ' '%(message)s'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'standard', 'level': 'DEBUG'}, 'eventlog': {'class': 'logging.FileHandler', 'filename': PosixPath('/home/django/impact-tourism/.logs/eventlog.log'), 'filters': None, 'formatter': 'standard', 'level': 'INFO'}, 'file': {'class': 'logging.FileHandler', 'filename': PosixPath('/home/django/impact-tourism/.logs/django.log'), 'formatter': 'standard', 'level': 'DEBUG'}}, 'loggers': {'django.request': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True}, 'eventlog': {'handlers': ['eventlog'], 'level': 'INFO', 'propagate': False}}, 'root': {'handlers': ['file'], 'level': 'DEBUG'}, 'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGGING_PATH | PosixPath('/home/django/impact-tourism/.logs') |
LOGIN_REDIRECT_URL | '/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '/home/django/impact-tourism/Engine/web/uploads' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.gzip.GZipMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
PUBLIC_MEDIA_ROOT | '/home/django/impact-tourism/Engine/web/uploads/public' |
PUBLIC_MEDIA_URL | '/public/' |
REDIS_PORT | 6379 |
REST_FRAMEWORK | {'DEFAULT_PERMISSION_CLASSES': ['core.drf.permissions.DenyAll']} |
ROOT_DIR | '/home/django/impact-tourism' |
ROOT_URLCONF | 'config.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 | 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.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 | 'config.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SOCIAL_AUTH_PIPELINE | ('social_core.pipeline.social_auth.social_details', 'social_core.pipeline.social_auth.social_uid', 'social_core.pipeline.social_auth.social_user', 'social_core.pipeline.user.get_username', 'social_core.pipeline.user.create_user', 'social_core.pipeline.social_auth.associate_user', 'social_core.pipeline.social_auth.load_extra_data', 'social_core.pipeline.user.user_details', 'social_core.pipeline.social_auth.associate_by_email') |
SOCIAL_AUTH_POSTGRES_JSONFIELD | True |
STATICFILES_DIRS | ('/home/django/impact-tourism/Ui/dist',) |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/home/django/impact-tourism/Engine/web/staticfiles' |
STATIC_URL | '/static/' |
STRIPE_PUBLIC_KEY | '********************' |
STRIPE_SECRET_KEY | '********************' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'social_django.context_processors.backends', 'social_django.context_processors.login_redirect', 'apps.frontend.context_processors.global_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 | 'UTC' |
UI_DIR | '/home/django/impact-tourism/Ui' |
USE_I18N | True |
USE_L10N | True |
USE_SMTP | False |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WEBPACK_LOADER | {'DEFAULT': {'BUNDLE_DIR_NAME': 'bundles/', 'CACHE': False, 'STATS_FILE': '/home/django/impact-tourism/Ui/webpack-stats.json'}} |
WSGI_APPLICATION | 'config.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.