OperatorSite matching query does not exist.
Request Method: | GET |
---|---|
Request URL: | https://boatrips.activbookings.com/pt/atividades/ |
Django Version: | 1.11.8 |
Exception Type: | DoesNotExist |
Exception Value: | OperatorSite matching query does not exist. |
Exception Location: | /home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/db/models/query.py in get, line 380 |
Python Executable: | /home/abooking/.virtualenvs/activbooking/bin/python3 |
Python Version: | 3.6.5 |
Python Path: | ['/home/abooking/activbookings_platform/activbookings/src', '/home/abooking/.virtualenvs/activbooking/bin', '/home/abooking/.virtualenvs/activbooking/lib/python36.zip', '/home/abooking/.virtualenvs/activbooking/lib/python3.6', '/home/abooking/.virtualenvs/activbooking/lib/python3.6/lib-dynload', '/usr/lib/python3.6', '/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages'] |
Server time: | Ter, 19 Mar 2024 01:36:16 +0000 |
In template /home/abooking/activbookings_platform/activbookings/src/templates/base.topbar.html
, error at line 19
9 | <div class="top-bar"> |
---|---|
10 | <div class="container"> |
11 | <div class="row justify-content-end"> |
12 | {% if not is_iframe %} |
13 | <span class="tip">{% trans "Need help? Contact us" %}: </span> |
14 | <a class="phone" href="tel:{{ operator.phone }}">{{ operator.phone }}</a> |
15 | |
16 | <span class="separator">|</span> |
17 | {% endif %} |
18 | {% block languages %} |
19 | {% language_selector %} |
20 | {% endblock %} |
21 | {% if not user.is_authenticated %} |
22 | <a href="{% url 'admin:login' %}" class="btn btn-sm btn-outline-danger">Login</a> |
23 | {% endif %} |
24 | </div> |
25 | </div> |
26 | </div> |
/home/abooking/activbookings_platform/activbookings/src/apps/multi_tenant/models.py
in _get_site_by_request
def _get_site_by_request(self, request):
host = request.get_host()
if host.startswith('www.'):
host = host.replace('www.', '')
try:
# First attempt to look up the site by host with or without port.
if host not in SITE_CACHE:
SITE_CACHE[host] = self.get(domain__iexact=host)...
return SITE_CACHE[host]
except OperatorSite.DoesNotExist:
# Fallback to looking up site after stripping port from the host.
domain, port = split_domain_port(host)
if domain not in SITE_CACHE:
SITE_CACHE[domain] = self.get(domain__iexact=domain)
Variable | Value |
---|---|
domain | 'boatrips.activbookings.com' |
host | 'boatrips.activbookings.com' |
port | '' |
request | <WSGIRequest: GET '/pt/atividades/'> |
self | <apps.multi_tenant.models.SiteManager object at 0x7fded33fae48> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/db/models/manager.py
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 = {}
# Refs http://bugs.python.org/issue1785.
Variable | Value |
---|---|
args | () |
kwargs | {'domain__iexact': 'boatrips.activbookings.com'} |
name | 'get' |
self | <apps.multi_tenant.models.SiteManager object at 0x7fded33fae48> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/db/models/query.py
in get
clone = clone.order_by()
num = len(clone)
if num == 1:
return clone._result_cache[0]
if not num:
raise self.model.DoesNotExist(
"%s matching query does not exist." %
self.model._meta.object_name...
)
raise self.model.MultipleObjectsReturned(
"get() returned more than one %s -- it returned %s!" %
(self.model._meta.object_name, num)
)
Variable | Value |
---|---|
args | () |
clone | <SoftDeleteQuerySet []> |
kwargs | {'domain__iexact': 'boatrips.activbookings.com'} |
num | 0 |
self | <SoftDeleteQuerySet [<OperatorSite: carvoeirocaves>, <OperatorSite: OceanQuest>, <OperatorSite: Zebra Safari Algarve>, <OperatorSite: Seacret Tours>, <OperatorSite: Natura Algarve>, <OperatorSite: Unique Algarve>, <OperatorSite: dolphin>, <OperatorSite: Example>, <OperatorSite: agent>, <OperatorSite: Seaalgarve>, <OperatorSite: Aveiro Emotions>, <OperatorSite: Royal Nautic>, <OperatorSite: Santa Bernarda>, <OperatorSite: Grupo HPA>, <OperatorSite: Sunset Alegria>, <OperatorSite: Madeirapass>, <OperatorSite: Seabookings>, <OperatorSite: Algarve Cruises>, <OperatorSite: Zawaia Experience>, <OperatorSite: Algarve Nature Fest>, '...(remaining elements truncated)...']> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/core/handlers/exception.py
in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(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 | DoesNotExist('OperatorSite matching query does not exist.',) |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7fded27eb4e0>> |
request | <WSGIRequest: GET '/pt/atividades/'> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/core/handlers/base.py
in _get_response
"HttpResponse object. It returned None instead."
% (middleware_method.__self__.__class__.__name__)
)
try:
response = response.render()
except Exception as e:
response = self.process_exception_by_middleware(e, request)...
return response
def process_exception_by_middleware(self, exception, request):
"""
Pass the exception to the exception middleware. If no middleware
Variable | Value |
---|---|
callback | <function ActivityListView at 0x7fded19bf598> |
callback_args | () |
callback_kwargs | {} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fded27f0898>> |
request | <WSGIRequest: GET '/pt/atividades/'> |
resolver | <RegexURLResolver 'conf.urls.web' (None:None) ^/> |
resolver_match | ResolverMatch(func=apps.frontoffice.views.ActivityListView, args=(), kwargs={}, url_name=list, app_names=[], namespaces=['activities']) |
response | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fded27eb4e0> |
wrapped_callback | <function ActivityListView at 0x7fded19bf598> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/core/handlers/base.py
in _get_response
raise ValueError(
"%s.process_template_response didn't return an "
"HttpResponse object. It returned None instead."
% (middleware_method.__self__.__class__.__name__)
)
try:
response = response.render()...
except Exception as e:
response = self.process_exception_by_middleware(e, request)
return response
def process_exception_by_middleware(self, exception, request):
Variable | Value |
---|---|
callback | <function ActivityListView at 0x7fded19bf598> |
callback_args | () |
callback_kwargs | {} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fded27f0898>> |
request | <WSGIRequest: GET '/pt/atividades/'> |
resolver | <RegexURLResolver 'conf.urls.web' (None:None) ^/> |
resolver_match | ResolverMatch(func=apps.frontoffice.views.ActivityListView, args=(), kwargs={}, url_name=list, app_names=[], namespaces=['activities']) |
response | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fded27eb4e0> |
wrapped_callback | <function ActivityListView at 0x7fded19bf598> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/response.py
in render
If the content has already been rendered, this is a no-op.
Returns the baked response instance.
"""
retval = self
if not self._is_rendered:
self.content = self.rendered_content...
for post_callback in self._post_render_callbacks:
newretval = post_callback(retval)
if newretval is not None:
retval = newretval
return retval
Variable | Value |
---|---|
retval | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/response.py
in rendered_content
This *does not* set the final content of the response. To set the
response content, you must either call render(), or set the
content explicitly using the value of this property.
"""
template = self.resolve_template(self.template_name)
context = self.resolve_context(self.context_data)
content = template.render(context, self._request)...
return content
def add_post_render_callback(self, callback):
"""Adds a new post-rendering callback.
If the response has already been rendered,
Variable | Value |
---|---|
context | {'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'category_id': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'is_iframe': None, 'is_paginated': False, 'location_obj': None, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'object_list': <SoftDeleteQuerySet []>, 'operator_id': 34, 'page_obj': None, 'paginator': None, 'seasons': <SoftDeleteQuerySet []>, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>} |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
template | <django.template.backends.django.Template object at 0x7fdecf617588> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/backends/django.py
in render
@property
def origin(self):
return self.template.origin
def render(self, context=None, request=None):
context = make_context(context, request, autoescape=self.backend.engine.autoescape)
try:
return self.template.render(context)...
except TemplateDoesNotExist as exc:
reraise(exc, self.backend)
def copy_exception(exc, backend=None):
"""
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
request | <WSGIRequest: GET '/pt/atividades/'> |
self | <django.template.backends.django.Template object at 0x7fdecf617588> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/base.py
in render
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)...
else:
return self._render(context)
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
self | <django.template.base.Template object at 0x7fdeceeb45c0> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/test/utils.py
in instrumented_test_render
def instrumented_test_render(self, context):
"""
An instrumented Template render method, providing a signal
that can be intercepted by the test system Client
"""
template_rendered.send(sender=self, template=self, context=context)
return self.nodelist.render(context)...
class _TestState(object):
pass
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
self | <django.template.base.Template object at 0x7fdeceeb45c0> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
node | <ExtendsNode: extends 'base.html'> |
self | [<ExtendsNode: extends 'base.html'>] |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
self | <ExtendsNode: extends 'base.html'> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/loader_tags.py
in render
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)...
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x7fdecf97eac8> |
blocks | {'cms_editor_handle': <Block Node: cms_editor_handle. Contents: []>, 'cms_toolbar_placeholder': <Block Node: cms_toolbar_placeholder. Contents: [<Tag: cms_toolbar>]>, 'content': <Block Node: content. Contents: []>, 'description': <Block Node: description. Contents: [<django.template.loader_tags.IncludeNode object at 0x7fdecef574e0>]>, 'extrafooter': <Block Node: extrafooter. Contents: []>, 'extrahead': <Block Node: extrahead. Contents: []>, 'extrahtml': <Block Node: extrahtml. Contents: []>, 'keywords': <Block Node: keywords. Contents: [<TextNode: '<meta name="keywords" con'>, <Variable Node: operator.meta_keywords>, <TextNode: '">'>]>, 'title': <Block Node: title. Contents: [<django.template.loader_tags.IncludeNode object at 0x7fdecef57a90>]>} |
compiled_parent | <django.template.base.Template object at 0x7fdeceeb47b8> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
node | <django.template.defaulttags.SpacelessNode object at 0x7fded0684048> |
self | <ExtendsNode: extends 'base.html'> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/test/utils.py
in instrumented_test_render
def instrumented_test_render(self, context):
"""
An instrumented Template render method, providing a signal
that can be intercepted by the test system Client
"""
template_rendered.send(sender=self, template=self, context=context)
return self.nodelist.render(context)...
class _TestState(object):
pass
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
self | <django.template.base.Template object at 0x7fdeceeb47b8> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n ' |
bits | ['', '\n<!doctype html>\n<html lang="', 'pt', '" ', '', '>\n\n <head>\n', '\n\n', '\n ', '<!-- JSON-LD markup generated by Google Structured Data Markup Helper. ' '--><script type="application/ld+json">\n' ' [\n' ' {\n' ' "@context" : "http://schema.org",\n' ' "@type" : "TravelAgency",\n' ' "name" : "Boatrips Lagos",\n' ' "image" : "https://boatrips.eu/media/logo_1_GTiDvqY.png",\n' ' "telephone" : "+(351) 969 184 712",\n' ' "email" : "boatripseu@gmail.com",\n' ' "address" : {\n' ' "@type" : "PostalAddress",\n' ' "streetAddress" : "Boatrips Act. Maritimo Turistica Lda\r\n' 'Av.D. Joao III, Lote 7, Loja A\r\n' '8600-776 Lagos"\n' ' },\n' ' "sameAs": [\n' ' \n' ' "https://www.facebook.com/boatrips.eu/"\n' ' \n' ' ,\n' ' \n' ' "https://twitter.com/boatripseu"\n' ' \n' ' \n' ' \n' ' ,\n' ' \n' ' "https://www.instagram.com/boatrips/"\n' ' \n' ' ,\n' ' \n' ' "https://www.youtube.com/channel/UCEzjcVA8TrLF6zdfZRJxq5A"\n' ' \n' ' ]\n' ' }\n' ' ]\n' '</script>', '\n' ' <meta http-equiv="x-ua-compatible" content="ie-edge">\n' ' <meta name="viewport" content="width=device-width, initial-scale=1.0" ' '/>\n' ' ', '<title>\n' ' \n' ' Experiências | Boatrips Lagos\n' ' \n' '</title><meta name="keywords" content="boat trip Lagos, boat trips ' 'Lagos"><meta name="description" content="">', '\n' ' <link rel="stylesheet" ' 'href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" ' 'integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" ' 'crossorigin="anonymous">\n' ' <link rel="stylesheet" href="', '/static/css/frontoffice/style.css', '">\n ', '', '\n ', '', '\n <style>\n ', '', '\n </style>\n </head>\n\n ', '', '\n ', '', '\n <body class="AA ', '', '">\n ', '\n\n ', '\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
node | <django.template.loader_tags.IncludeNode object at 0x7fdecef57668> |
self | [<django.template.defaulttags.SpacelessNode object at 0x7fded0684048>, <TextNode: '\n<!doctype html>\n<html la'>, <Variable Node: LANGUAGE_CODE>, <TextNode: '" '>, <Block Node: extrahtml. Contents: []>, <TextNode: '>\n\n <head>\n'>, <django.template.defaulttags.AutoEscapeControlNode object at 0x7fdecfd91160>, <TextNode: '\n '>, <django.template.defaulttags.SpacelessNode object at 0x7fdecfd91ef0>, <TextNode: '\n <meta http-equiv="x-'>, <django.template.defaulttags.SpacelessNode object at 0x7fdecfd91940>, <TextNode: '\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdecef572b0>, <TextNode: '">\n '>, <Tag: cms_tags_media>, <TextNode: '\n '>, <Block Node: extrahead. Contents: []>, <TextNode: '\n <style>\n '>, <IfNode>, <TextNode: '\n </style>\n </head>\n\n'>, <django.template.library.SimpleNode object at 0x7fdecfa86e10>, <TextNode: '\n '>, <django.template.defaulttags.CommentNode object at 0x7fdecfa86908>, <TextNode: '\n <body class="AA '>, <Variable Node: body_classname>, <TextNode: '">\n '>, <django.template.loader_tags.IncludeNode object at 0x7fdecef57b00>, <TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7fdecef57668>, <TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7fdecef571d0>, <TextNode: '\n\n <div>\n '>, <Block Node: content. Contents: []>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </div>\n\n '>, <django.template.loader_tags.IncludeNode object at 0x7fdecf0f63c8>, <TextNode: '\n\n <script>\n '>, <django.templatetags.static.StaticNode object at 0x7fdecf0f6668>, <TextNode: '";\n </script>\n\n '>, <django.templatetags.static.StaticNode object at 0x7fdecf0f6780>, <TextNode: '"></script>\n\n '>, <Block Node: extrafooter. Contents: []>, <TextNode: '\n\n'>, <django.template.defaulttags.AutoEscapeControlNode object at 0x7fdecfa86f60>, <TextNode: '\n\n </body>\n</html>\n'>] |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
self | <django.template.loader_tags.IncludeNode object at 0x7fdecef57668> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/loader_tags.py
in render
values = {
name: var.resolve(context)
for name, var in six.iteritems(self.extra_context)
}
if self.isolated_context:
return template.render(context.new(values))
with context.push(**values):
return template.render(context)...
except Exception as e:
if context.template.engine.debug:
raise
template_name = getattr(context, 'template_name', None) or 'unknown'
warnings.warn(
"Rendering {%% include '%s' %%} raised %s. In Django 2.1, "
Variable | Value |
---|---|
cache | {'base.topbar.html': <django.template.base.Template object at 0x7fdecfe36518>} |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
self | <django.template.loader_tags.IncludeNode object at 0x7fdecef57668> |
template | <django.template.base.Template object at 0x7fdecfe36518> |
template_name | 'base.topbar.html' |
values | {} |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/base.py
in render
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)
else:
return self._render(context)...
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
is True and an exception occurs during parsing, the exception is
is annotated with contextual line information where it occurred in the
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
self | <django.template.base.Template object at 0x7fdecfe36518> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/test/utils.py
in instrumented_test_render
def instrumented_test_render(self, context):
"""
An instrumented Template render method, providing a signal
that can be intercepted by the test system Client
"""
template_rendered.send(sender=self, template=self, context=context)
return self.nodelist.render(context)...
class _TestState(object):
pass
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
self | <django.template.base.Template object at 0x7fdecfe36518> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n ' |
bits | ['', '\n' '\n' '<div class="top-bar">\n' ' <div class="container">\n' ' <div class="row justify-content-end">\n' ' ', '\n' ' <span class="tip">Necessita de ajuda? Contacte-nos: </span>\n' ' <a class="phone" href="tel:+(351) 969 184 712">+(351) 969 184 ' '712</a>\n' '\n' ' <span class="separator">|</span>\n' ' ', '\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
node | <Block Node: languages. Contents: [<TextNode: '\n '>, <Tag: language_selector>, <TextNode: '\n '>]> |
self | [<django.template.defaulttags.SpacelessNode object at 0x7fdecf5147b8>, <TextNode: '\n\n<div class="top-bar">\n '>, <IfNode>, <TextNode: '\n '>, <Block Node: languages. Contents: [<TextNode: '\n '>, <Tag: language_selector>, <TextNode: '\n '>]>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n</di'>] |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
self | <Block Node: languages. Contents: [<TextNode: '\n '>, <Tag: language_selector>, <TextNode: '\n '>]> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/loader_tags.py
in render
return "<Block Node: %s. Contents: %r>" % (self.name, self.nodelist)
def render(self, context):
block_context = context.render_context.get(BLOCK_CONTEXT_KEY)
with context.push():
if block_context is None:
context['block'] = self
result = self.nodelist.render(context)...
else:
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
Variable | Value |
---|---|
block_context | None |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
self | <Block Node: languages. Contents: [<TextNode: '\n '>, <Tag: language_selector>, <TextNode: '\n '>]> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n ' |
bits | ['\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
node | <Tag: language_selector> |
self | [<TextNode: '\n '>, <Tag: language_selector>, <TextNode: '\n '>] |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
self | <Tag: language_selector> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/classytags/core.py
in render
"""
INTERNAL method to prepare rendering
Usually you should not override this method, but rather use render_tag.
"""
items = self.kwargs.items()
kwargs = dict([(key, value.resolve(context)) for key, value in items])
kwargs.update(self.blocks)
return self.render_tag(context, **kwargs)...
def render_tag(self, context, **kwargs):
"""
The method you should override in your custom tags
"""
raise NotImplementedError
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
items | dict_items([('options', {}), ('varname', <TemplateConstant: None>)]) |
kwargs | {'options': {}, 'varname': None} |
self | <Tag: language_selector> |
/home/abooking/activbookings_platform/activbookings/src/apps/dengun_cms/core/templatetags/cms_tags.py
in render_tag
context['available_languages'] = operator.lang_codes
context['object'] = options['model']
context['url_name'] = options['url_name']
context['url'] = options['url']
return context
def render_tag(self, context, **kwargs):
output = super(LanguageSelectorTag, self).render_tag(context, **kwargs)...
varname = kwargs.get('varname')
if varname:
context[varname] = output
return ''
return output
Variable | Value |
---|---|
__class__ | <class 'apps.dengun_cms.core.templatetags.cms_tags.LanguageSelectorTag'> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
kwargs | {'options': {}, 'varname': None} |
self | <Tag: language_selector> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/classytags/helpers.py
in render_tag
if self.push_context:
safe_context = flatten_context(context)
data = self.get_context(safe_context, **kwargs)
safe_context.update(**data)
output = render_to_string(template, safe_context)
else:
new_context = context.new(
flatten_context(self.get_context(context, **kwargs))...
)
data = flatten_context(new_context)
output = render_to_string(template, data)
return output
def get_template(self, context, **kwargs):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
kwargs | {'options': {}, 'varname': None} |
self | <Tag: language_selector> |
template | 'cms/languages.html' |
/home/abooking/activbookings_platform/activbookings/src/apps/dengun_cms/core/templatetags/cms_tags.py
in get_context
'model': None,
'url': None,
'url_name': 'page-root'
}
default_options.update(options or {})
options = default_options
operator = OperatorSite.objects.get_current(context.request).owner...
context['available_languages'] = operator.lang_codes
context['object'] = options['model']
context['url_name'] = options['url_name']
context['url'] = options['url']
return context
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'paginator': None, 'page_obj': None, 'is_paginated': False, 'object_list': <SoftDeleteQuerySet []>, 'seasons': <SoftDeleteQuerySet []>, 'categories': <MultilingualGeoQuerySet [{'category_type__name': 'Cruises, Sailing & Water Tours', 'category_type_id': 417}]>, 'locations': <MultilingualGeoQuerySet [{'location__name': 'Lagos', 'location_id': 76}]>, 'operator_id': 34, 'location_obj': None, 'date': datetime.datetime(2024, 3, 19, 1, 36, 15, 526902, tzinfo=<UTC>), 'category_id': None, 'is_iframe': None, 'view': <apps.frontoffice.views.ActivityListView object at 0x7fded0531940>, 'LANGUAGE_CODE': 'pt', 'operator': <Operator: Boatrips Lagos>, 'full_path': '', 'site': <OperatorSite: Boatrips>, 'body_classname': ''}] |
default_options | {'model': None, 'url': None, 'url_name': 'page-root'} |
options | {'model': None, 'url': None, 'url_name': 'page-root'} |
self | <Tag: language_selector> |
varname | None |
/home/abooking/activbookings_platform/activbookings/src/apps/multi_tenant/models.py
in get_current
return getattr(api_user.operator, 'site', None)
def get_current(self, request):
api_user = getattr(request, 'api_user', None)
if api_user:
return self.__get_by_api_user(api_user)
else:
return self._get_site_by_request(request)...
class OperatorSite(AutoCreatedUpdatedModel, SoftDeleteModel, WithUUIDModel):
domain = models.CharField(
_('domain name'),
max_length=100,
Variable | Value |
---|---|
api_user | None |
request | <WSGIRequest: GET '/pt/atividades/'> |
self | <apps.multi_tenant.models.SiteManager object at 0x7fded33fae48> |
/home/abooking/activbookings_platform/activbookings/src/apps/multi_tenant/models.py
in _get_site_by_request
if host not in SITE_CACHE:
SITE_CACHE[host] = self.get(domain__iexact=host)
return SITE_CACHE[host]
except OperatorSite.DoesNotExist:
# Fallback to looking up site after stripping port from the host.
domain, port = split_domain_port(host)
if domain not in SITE_CACHE:
SITE_CACHE[domain] = self.get(domain__iexact=domain)...
return SITE_CACHE[domain]
@staticmethod
def __get_by_api_user(api_user):
return getattr(api_user.operator, 'site', None)
Variable | Value |
---|---|
domain | 'boatrips.activbookings.com' |
host | 'boatrips.activbookings.com' |
port | '' |
request | <WSGIRequest: GET '/pt/atividades/'> |
self | <apps.multi_tenant.models.SiteManager object at 0x7fded33fae48> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/db/models/manager.py
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 = {}
# Refs http://bugs.python.org/issue1785.
Variable | Value |
---|---|
args | () |
kwargs | {'domain__iexact': 'boatrips.activbookings.com'} |
name | 'get' |
self | <apps.multi_tenant.models.SiteManager object at 0x7fded33fae48> |
/home/abooking/.virtualenvs/activbooking/lib/python3.6/site-packages/django/db/models/query.py
in get
clone = clone.order_by()
num = len(clone)
if num == 1:
return clone._result_cache[0]
if not num:
raise self.model.DoesNotExist(
"%s matching query does not exist." %
self.model._meta.object_name...
)
raise self.model.MultipleObjectsReturned(
"get() returned more than one %s -- it returned %s!" %
(self.model._meta.object_name, num)
)
Variable | Value |
---|---|
args | () |
clone | <SoftDeleteQuerySet []> |
kwargs | {'domain__iexact': 'boatrips.activbookings.com'} |
num | 0 |
self | <SoftDeleteQuerySet [<OperatorSite: carvoeirocaves>, <OperatorSite: OceanQuest>, <OperatorSite: Zebra Safari Algarve>, <OperatorSite: Seacret Tours>, <OperatorSite: Natura Algarve>, <OperatorSite: Unique Algarve>, <OperatorSite: dolphin>, <OperatorSite: Example>, <OperatorSite: agent>, <OperatorSite: Seaalgarve>, <OperatorSite: Aveiro Emotions>, <OperatorSite: Royal Nautic>, <OperatorSite: Santa Bernarda>, <OperatorSite: Grupo HPA>, <OperatorSite: Sunset Alegria>, <OperatorSite: Madeirapass>, <OperatorSite: Seabookings>, <OperatorSite: Algarve Cruises>, <OperatorSite: Zawaia Experience>, <OperatorSite: Algarve Nature Fest>, '...(remaining elements truncated)...']> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'boatrips.activbookings.com' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '34.228.7.237' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REAL_IP | '34.228.7.237' |
PATH_INFO | '/pt/atividades/' |
QUERY_STRING | '' |
RAW_URI | '/pt/atividades/' |
REMOTE_ADDR | '' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | 'boatrips.activbookings.com' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SOFTWARE | 'gunicorn/19.6.0' |
gunicorn.socket | <socket.socket fd=12, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, laddr=/home/abooking/socket/tenant.sock> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7fded0672cf8> |
wsgi.file_wrapper | '' |
wsgi.input | <gunicorn.http.body.Body object at 0x7fded05c7dd8> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
conf.settings.production
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | ('info@activbookings.com',) |
ADMIN_MENU | 'conf.menu.MyAdminMenu' |
ALLOWED_HOSTS | ['.activbookings.com', '*'] |
API_KEY_HEADER | '********************' |
APPEND_SLASH | True |
APPS_DIR | <Path:/home/abooking/activbookings_platform/activbookings/src/apps> |
AUTHENTICATION_BACKENDS | ('apps.multi_tenant.backends.MultiTenantBackend',) |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'multi_tenant.UserProfile' |
BATCH_SIZE | 500 |
BOOKING_QUANTITY_FOR_STATISTICS | 5 |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CKEDITOR_CONFIGS | {'default': {'toolbar': 'common', 'toolbar_common': [{'items': ['Cut', 'Copy', '-', 'Undo', 'Redo'], 'name': 'clipboard'}, {'items': ['Bold', 'Italic', 'Underline', '-', 'RemoveFormat'], 'name': 'basicstyles'}, {'items': ['Styles', 'Format'], 'name': 'styles'}, {'items': ['Link', 'Unlink'], 'name': 'links'}, {'items': ['Maximize'], 'name': 'tools'}, {'items': ['Source'], 'name': 'document'}]}} |
CKEDITOR_CONFIG_DEFAULT | {'toolbar': 'common', 'toolbar_common': [{'items': ['Cut', 'Copy', '-', 'Undo', 'Redo'], 'name': 'clipboard'}, {'items': ['Bold', 'Italic', 'Underline', '-', 'RemoveFormat'], 'name': 'basicstyles'}, {'items': ['Styles', 'Format'], 'name': 'styles'}, {'items': ['Link', 'Unlink'], 'name': 'links'}, {'items': ['Maximize'], 'name': 'tools'}, {'items': ['Source'], 'name': 'document'}]} |
CMS_TAG_MODEL | 'cms.Tag' |
CORS_ALLOW_HEADERS | ('accept', 'accept-encoding', 'authorization', 'content-type', 'dnt', 'origin', 'user-agent', 'x-csrftoken', 'x-requested-with', 'Access-Control-Allow-Origin', 'Authorization', 'X-API-KEY') |
CORS_ORIGIN_ALLOW_ALL | True |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
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': '127.0.0.1', 'NAME': 'activbookings', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'activbookings'}} |
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', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y'] |
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_CONTENT_TYPE | 'text/html' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'no-reply@activbookings.com' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_MYPAGE_TEMPLATE | '/home/abooking/activbookings_platform/activbookings/src/templates/default_template.html' |
DEFAULT_PAGINATION | 10 |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
DJANGO_APPS | ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sites', 'django.contrib.sitemaps', 'django.contrib.humanize', 'corsheaders', 'django.contrib.admin', 'django.contrib.gis') |
DOMAIN | '.activbookings.com' |
{'from_email': 'no-reply@activbookings.com', 'recipients': []} |
|
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'mail.activbookings.com' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'no-reply@activbookings.com' |
EMAIL_PORT | 587 |
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 |
FILE_CHARSET | 'utf-8' |
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 | None |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIRST_PARTY_APPS | ('modeltranslation', 'photologue', 'apps.django_admin_botox') |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
GOOGLE_MAPS_API_KEY | '********************' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ('modeltranslation', 'photologue', 'apps.django_admin_botox', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sites', 'django.contrib.sitemaps', 'django.contrib.humanize', 'corsheaders', 'django.contrib.admin', 'django.contrib.gis', 'taggit', 'nested_admin', 'mapwidgets', 'multiselectfield', 'wkhtmltopdf', 'ckeditor', 'django_countries', 'rest_framework', 'drf_yasg', 'apps.multi_tenant', 'apps.redirects', 'apps.dengun_cms.core', 'apps.dengun_cms.contrib.treeadmin', 'apps.dengun_cms.mypages', 'apps.dengun_cms.media', 'core', 'apps.themes', 'apps.activities', 'apps.schedule', 'apps.dashboard', 'apps.booking', 'apps.frontoffice', 'apps.payments', 'apps.inventory', 'apps.reports', 'apps.api.v1.api_user', 'apps.api.v1.products', 'raven.contrib.django.raven_compat') |
INTERNAL_IPS | [] |
INVOICE_EXPRESS_API_KEY | '********************' |
INVOICE_EXPRESS_API_NAME | '********************' |
LANGUAGES | (('en', 'English'), ('pt', 'Portuguese'), ('es', 'Spanish'), ('de', 'German'), ('fr', 'French')) |
LANGUAGES_BIDI | ['he', 'ar', 'fa', 'ur'] |
LANGUAGE_CODE | 'en' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LOCALE_PATHS | [] |
LOCAL_APPS | ('apps.multi_tenant', 'apps.redirects', 'apps.dengun_cms.core', 'apps.dengun_cms.contrib.treeadmin', 'apps.dengun_cms.mypages', 'apps.dengun_cms.media', 'core', 'apps.themes', 'apps.activities', 'apps.schedule', 'apps.dashboard', 'apps.booking', 'apps.frontoffice', 'apps.payments', 'apps.inventory', 'apps.reports', 'apps.api.v1.api_user', 'apps.api.v1.products') |
LOGGING | {'disable_existing_loggers': False, 'formatters': {'simple': {'format': '%(levelname)s %(message)s'}, 'verbose': {'datefmt': '%d/%b/%Y %H:%M:%S', 'format': '[%(asctime)s] %(levelname)s ' '[%(name)s:%(lineno)s] %(message)s'}}, 'handlers': {'file': {'backupCount': 10, 'class': 'logging.handlers.TimedRotatingFileHandler', 'filename': '/home/deploy/activbooking/logs/2023-06-07.log', 'formatter': 'verbose', 'level': 'INFO', 'when': 'D'}}, 'loggers': {'': {'handlers': ['file'], 'level': 'INFO'}, 'django': {'handlers': ['file'], 'level': 'INFO'}}, 'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | ('activbookingstage@gmail.com',) |
MAP_WIDGETS | {'GOOGLE_MAP_API_KEY': '********************', 'GooglePointFieldWidget': (('zoom', 8), ('mapCenterLocationName', 'Portugal'))} |
MEDIA_ROOT | '/home/abooking/activbookings_platform/media' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['raven.contrib.django.middleware.DjangoRestFrameworkCompatMiddleware', 'raven.contrib.django.middleware.SentryMiddleware', 'apps.multi_tenant.middleware.TenantMiddleware', 'apps.multi_tenant.middleware.OperatorLocaleMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'core.middleware.DisableCSRF', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'apps.api.v1.middleware.APIUserMiddleware', 'apps.redirects.middleware.RedirectFallbackMiddleware', 'apps.multi_tenant.middleware.IFrameOptionsMiddleware', 'django_currentuser.middleware.ThreadLocalUserMiddleware'] |
MIDDLEWARE_CLASSES | ['django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
MYPAGES_TEMPLATE_DIR | '/home/abooking/activbookings_platform/mypages_templates' |
NUMBER_GROUPING | 0 |
PAGINATION_OPTIONS | [10, 20, 50] |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PHOTOLOGUE_PATH | <function image_file_namer at 0x7fdee9b31bf8> |
PREPEND_WWW | False |
PROJECT_URL | 'https://activbookings.w2.dengun.net' |
RAVEN_CONFIG | {'dsn': 'https://182456bdea1d453ca7ccfd5f4b42177a:b813a04464174011996c6c3d3ba7c6aa@sentry.io/1301117', 'release': 'bb244e60b412c4d8308fd2ab03576ae8e92d1fff'} |
REST_FRAMEWORK | {'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination', 'EXCEPTION_HANDLER': 'apps.api.v1.exceptions.ApiV1ExceptionHandler', 'JWT_EXPIRATION_DELTA': datetime.timedelta(1), 'PAGE_SIZE': 50} |
ROOT_DIR | <Path:/home/abooking/activbookings_platform/activbookings/src> |
ROOT_URLCONF | 'conf.urls.web' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | False |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SERVER_ROOT | '/home/abooking/activbookings_platform' |
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_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 | 'conf.settings.production' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | ['auth.W004'] |
SITE_ID | 1 |
SPA_ROOT | '/home/abooking/activbookings_platform/app' |
SPA_URL | '/app/' |
STATICFILES_DIRS | ('/home/abooking/activbookings_platform/activbookings/src/static',) |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder') |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/home/abooking/activbookings_platform/staticfiles' |
STATIC_URL | '/static/' |
STYLE_CONTAINER_CLASSES | (('contacts', 'Contacts - grey background'),) |
SWAGGER_SETTINGS | {'SECURITY_DEFINITIONS': {'APIkey': '********************', 'Bearer': {'description': 'Get Json Web Token from ' 'authorization endpoint ' '(only admin)\n' ' ' '**** Authorization: ' 'Bearer [JWT]\n' ' ', 'in': 'header', 'name': 'Authorization', 'type': 'apiKey'}}} |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/home/abooking/activbookings_platform/activbookings/src/templates', '/home/abooking/activbookings_platform/mypages_templates'], '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'], 'debug': True}}] |
TEST_MODE | False |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THIRD_PARTY_APPS | ('taggit', 'nested_admin', 'mapwidgets', 'multiselectfield', 'wkhtmltopdf', 'ckeditor', 'django_countries', 'rest_framework', 'drf_yasg') |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'UTC' |
USE_ETAGS | False |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WKHTMLTOPDF_CMD_OPTIONS | {'quiet': True} |
WSGI_APPLICATION | None |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
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.