list index out of range
Request Method: | GET |
---|---|
Request URL: | https://www.hermetico.com/catalogue/category/panel-sandwich-puertas_44/ |
Django Version: | 1.8.7 |
Exception Type: | IndexError |
Exception Value: | list index out of range |
Exception Location: | /var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/db/models/query.py in __getitem__, line 184 |
Python Executable: | /var/www/vhosts/hermetico.com/httpdocs/.env/bin/python |
Python Version: | 2.7.12 |
Python Path: | ['/var/www/vhosts/hermetico.com/httpdocs', '/var/www/vhosts/hermetico.com/httpdocs/.env/lib/python2.7', '/var/www/vhosts/hermetico.com/httpdocs/.env/lib/python2.7/plat-x86_64-linux-gnu', '/var/www/vhosts/hermetico.com/httpdocs/.env/lib/python2.7/lib-tk', '/var/www/vhosts/hermetico.com/httpdocs/.env/lib/python2.7/lib-old', '/var/www/vhosts/hermetico.com/httpdocs/.env/lib/python2.7/lib-dynload', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages', '/var/www/vhosts/hermetico.com/httpdocs/.env/lib/python2.7/site-packages'] |
Server time: | Vie, 29 Mar 2024 08:42:15 +0100 |
In template /var/www/vhosts/hermetico.com/httpdocs/plantillas/catalogue/partials/stock_record.html
, error at line 5
1 | {% load currency_filters %} |
---|---|
2 | {% load i18n %} |
3 | {% load purchase_info_tags %} |
4 | |
5 | {% purchase_info_for_product request product as session %} |
6 | |
7 | {% if session.price.exists %} |
8 | {% if session.price.excl_tax == 0 %} |
9 | <p class="price_color">{% trans "Free" %}</p> |
10 | {% elif session.price.is_tax_known %} |
11 | <p class="price_color">{{ session.price.incl_tax|currency:session.price.currency }}</p> |
12 | {% else %} |
13 | <p class="price_color">{{ session.price.excl_tax|currency:session.price.currency }}</p> |
14 | {% endif %} |
15 | {% else %} |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/core/handlers/base.py
in get_response
response = middleware_method(request, response)
# Complain if the template response middleware returned None (a common error).
if response is None:
raise ValueError(
"%s.process_template_response didn't return an "
"HttpResponse object. It returned None instead."
% (middleware_method.__self__.__class__.__name__))
response = response.render()...
except http.Http404 as e:
logger.warning('Not Found: %s', request.path,
extra={
'status_code': 404,
'request': request
Variable | Value |
---|---|
callback_args | () |
resolver_match | ResolverMatch(func=oscar.apps.catalogue.views.ProductCategoryView, args=(), kwargs={'pk': u'44', 'category_slug': u'panel-sandwich-puertas'}, url_name=category, app_name=None, namespaces=['catalogue']) |
middleware_method | <bound method BasketMiddleware.process_template_response of <oscar.apps.basket.middleware.BasketMiddleware object at 0x7f81f2921950>> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f81f86f0fd0> |
request | "<WSGIRequest\npath:/catalogue/category/panel-sandwich-puertas_44/,\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {}>,\nCOOKIES:{},\nMETA:{'CONTEXT_DOCUMENT_ROOT': '/var/www/vhosts/hermetico.com/httpdocs',\n 'CONTEXT_PREFIX': '',\n u'CSRF_COOKIE': u'KUrk48cX2878vkWFMt396KBy9WbODRmc',\n 'DOCUMENT_ROOT': '/var/www/vhosts/hermetico.com/httpdocs',\n 'GATEWAY_INTERFACE': 'CGI/1.1',\n 'HTTP_ACCEPT': '*/*',\n 'HTTP_CONNECTION': 'close',\n 'HTTP_HOST': 'www.hermetico.com',\n 'HTTP_REFERER': 'http://www.hermetico.com/catalogue/category/panel-sandwich-puertas_44/',\n 'HTTP_USER_AGENT': 'claudebot',\n 'HTTP_X_REAL_IP': '44.223.37.137',\n 'PATH_INFO': u'/catalogue/category/panel-sandwich-puertas_44/',\n 'PATH_TRANSLATED': '/var/www/vhosts/hermetico.com/httpdocs/welba/wsgi.py/catalogue/category/panel-sandwich-puertas_44/',\n 'QUERY_STRING': '',\n 'REMOTE_ADDR': '44.223.37.137',\n 'REMOTE_PORT': '46964',\n 'REQUEST_METHOD': 'GET',\n 'REQUEST_SCHEME': 'https',\n 'REQUEST_URI': '/catalogue/category/panel-sandwich-puertas_44/',\n 'SCRIPT_FILENAME': '/var/www/vhosts/hermetico.com/httpdocs/welba/wsgi.py',\n 'SCRIPT_NAME': u'',\n 'SERVER_ADDR': '82.223.50.52',\n 'SERVER_ADMIN': '[no address given]',\n 'SERVER_NAME': 'www.hermetico.com',\n 'SERVER_PORT': '443',\n 'SERVER_PROTOCOL': 'HTTP/1.0',\n 'SERVER_SIGNATURE': '<address>Apache Server at www.hermetico.com Port 443</address>\\n',\n 'SERVER_SOFTWARE': 'Apache',\n 'UNIQUE_ID': 'ZgZw11LfMjQAAAmwulYAAAAD',\n 'apache.version': (2, 4, 18),\n 'mod_wsgi.application_group': 'hermetico.com|',\n 'mod_wsgi.callable_object': 'application',\n 'mod_wsgi.daemon_connects': '1',\n 'mod_wsgi.daemon_restarts': '0',\n 'mod_wsgi.daemon_start': '1711698135569777',\n 'mod_wsgi.enable_sendfile': '0',\n 'mod_wsgi.handler_script': '',\n 'mod_wsgi.input_chunked': '0',\n 'mod_wsgi.listener_host': '',\n 'mod_wsgi.listener_port': '7081',\n 'mod_wsgi.process_group': 'hermetico.com',\n 'mod_wsgi.queue_start': '1711698135569646',\n 'mod_wsgi.request_handler': 'wsgi-script',\n 'mod_wsgi.request_start': '1711698135563057',\n 'mod_wsgi.script_reloading': '1',\n 'mod_wsgi.script_start': '1711698135569823',\n 'mod_wsgi.version': (4, 3, 0),\n 'wsgi.errors': <mod_wsgi.Log object at 0x7f81f28ccb70>,\n 'wsgi.file_wrapper': <type 'mod_wsgi.FileWrapper'>,\n 'wsgi.input': <mod_wsgi.Input object at 0x7f81f2232570>,\n 'wsgi.multiprocess': False,\n 'wsgi.multithread': True,\n 'wsgi.run_once': False,\n 'wsgi.url_scheme': 'https',\n 'wsgi.version': (1, 0)}>" |
callback | <function ProductCategoryView at 0x7f81f247d9b0> |
wrapped_callback | <function ProductCategoryView at 0x7f81f247d9b0> |
resolver | <RegexURLResolver 'welba.urls' (None:None) ^/> |
callback_kwargs | {'category_slug': u'panel-sandwich-puertas', 'pk': u'44'} |
response | <django.template.response.TemplateResponse object at 0x7f81f224b290> |
urlconf | 'welba.urls' |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 |
---|---|
self | <django.template.response.TemplateResponse object at 0x7f81f224b290> |
retval | <django.template.response.TemplateResponse object at 0x7f81f224b290> |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 |
---|---|
self | <django.template.response.TemplateResponse object at 0x7f81f224b290> |
context | {'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'category': <Category: PANEL SANDWICH PUERTAS>, 'category_slug': u'panel-sandwich-puertas', u'is_paginated': False, u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'pk': u'44', 'products': [<Product: POMO 6099 INOX>], u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>} |
template | <django.template.backends.django.Template object at 0x7f81f224b190> |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/backends/django.py
in render
warnings.warn(
"render() must be called with a dict, not a Context.",
RemovedInDjango110Warning, stacklevel=2)
else:
context = make_context(context, request)
return self.template.render(context)...
Variable | Value |
---|---|
self | <django.template.backends.django.Template object at 0x7f81f224b190> |
request | "<WSGIRequest\npath:/catalogue/category/panel-sandwich-puertas_44/,\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {}>,\nCOOKIES:{},\nMETA:{'CONTEXT_DOCUMENT_ROOT': '/var/www/vhosts/hermetico.com/httpdocs',\n 'CONTEXT_PREFIX': '',\n u'CSRF_COOKIE': u'KUrk48cX2878vkWFMt396KBy9WbODRmc',\n 'DOCUMENT_ROOT': '/var/www/vhosts/hermetico.com/httpdocs',\n 'GATEWAY_INTERFACE': 'CGI/1.1',\n 'HTTP_ACCEPT': '*/*',\n 'HTTP_CONNECTION': 'close',\n 'HTTP_HOST': 'www.hermetico.com',\n 'HTTP_REFERER': 'http://www.hermetico.com/catalogue/category/panel-sandwich-puertas_44/',\n 'HTTP_USER_AGENT': 'claudebot',\n 'HTTP_X_REAL_IP': '44.223.37.137',\n 'PATH_INFO': u'/catalogue/category/panel-sandwich-puertas_44/',\n 'PATH_TRANSLATED': '/var/www/vhosts/hermetico.com/httpdocs/welba/wsgi.py/catalogue/category/panel-sandwich-puertas_44/',\n 'QUERY_STRING': '',\n 'REMOTE_ADDR': '44.223.37.137',\n 'REMOTE_PORT': '46964',\n 'REQUEST_METHOD': 'GET',\n 'REQUEST_SCHEME': 'https',\n 'REQUEST_URI': '/catalogue/category/panel-sandwich-puertas_44/',\n 'SCRIPT_FILENAME': '/var/www/vhosts/hermetico.com/httpdocs/welba/wsgi.py',\n 'SCRIPT_NAME': u'',\n 'SERVER_ADDR': '82.223.50.52',\n 'SERVER_ADMIN': '[no address given]',\n 'SERVER_NAME': 'www.hermetico.com',\n 'SERVER_PORT': '443',\n 'SERVER_PROTOCOL': 'HTTP/1.0',\n 'SERVER_SIGNATURE': '<address>Apache Server at www.hermetico.com Port 443</address>\\n',\n 'SERVER_SOFTWARE': 'Apache',\n 'UNIQUE_ID': 'ZgZw11LfMjQAAAmwulYAAAAD',\n 'apache.version': (2, 4, 18),\n 'mod_wsgi.application_group': 'hermetico.com|',\n 'mod_wsgi.callable_object': 'application',\n 'mod_wsgi.daemon_connects': '1',\n 'mod_wsgi.daemon_restarts': '0',\n 'mod_wsgi.daemon_start': '1711698135569777',\n 'mod_wsgi.enable_sendfile': '0',\n 'mod_wsgi.handler_script': '',\n 'mod_wsgi.input_chunked': '0',\n 'mod_wsgi.listener_host': '',\n 'mod_wsgi.listener_port': '7081',\n 'mod_wsgi.process_group': 'hermetico.com',\n 'mod_wsgi.queue_start': '1711698135569646',\n 'mod_wsgi.request_handler': 'wsgi-script',\n 'mod_wsgi.request_start': '1711698135563057',\n 'mod_wsgi.script_reloading': '1',\n 'mod_wsgi.script_start': '1711698135569823',\n 'mod_wsgi.version': (4, 3, 0),\n 'wsgi.errors': <mod_wsgi.Log object at 0x7f81f28ccb70>,\n 'wsgi.file_wrapper': <type 'mod_wsgi.FileWrapper'>,\n 'wsgi.input': <mod_wsgi.Input object at 0x7f81f2232570>,\n 'wsgi.multiprocess': False,\n 'wsgi.multithread': True,\n 'wsgi.run_once': False,\n 'wsgi.url_scheme': 'https',\n 'wsgi.version': (1, 0)}>" |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/base.py
in render
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
if context.template is None:
with context.bind_template(self):
return self._render(context)...
else:
return self._render(context)
finally:
context.render_context.pop()
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7f81f224b510> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
if context.template is None:
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7f81f224b510> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <ExtendsNode: extends "catalogue/browse.html"> |
self | [<ExtendsNode: extends "catalogue/browse.html">] |
bits | [] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <ExtendsNode: extends "catalogue/browse.html"> |
self | [<ExtendsNode: extends "catalogue/browse.html">] |
e | IndexError('list index out of range',) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/loader_tags.py
in render
blocks = {n.name: n for n in
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.
return compiled_parent._render(context)...
class IncludeNode(Node):
def __init__(self, template, *args, **kwargs):
self.template = template
self.extra_context = kwargs.pop('extra_context', {})
Variable | Value |
---|---|
node | <ExtendsNode: extends "layout_2_col.html"> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f81f22df190> |
compiled_parent | <django.template.base.Template object at 0x7f81f2165550> |
self | <ExtendsNode: extends "catalogue/browse.html"> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
if context.template is None:
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7f81f2165550> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <ExtendsNode: extends "layout_2_col.html"> |
self | [<ExtendsNode: extends "layout_2_col.html">] |
bits | [] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <ExtendsNode: extends "layout_2_col.html"> |
self | [<ExtendsNode: extends "layout_2_col.html">] |
e | IndexError('list index out of range',) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/loader_tags.py
in render
blocks = {n.name: n for n in
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.
return compiled_parent._render(context)...
class IncludeNode(Node):
def __init__(self, template, *args, **kwargs):
self.template = template
self.extra_context = kwargs.pop('extra_context', {})
Variable | Value |
---|---|
node | <ExtendsNode: extends "layout.html"> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f81f22df190> |
compiled_parent | <django.template.base.Template object at 0x7f81f2226510> |
self | <ExtendsNode: extends "layout_2_col.html"> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
if context.template is None:
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7f81f2226510> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <ExtendsNode: extends "layout.html"> |
self | [<ExtendsNode: extends "layout.html">] |
bits | [] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <ExtendsNode: extends "layout.html"> |
self | [<ExtendsNode: extends "layout.html">] |
e | IndexError('list index out of range',) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/loader_tags.py
in render
blocks = {n.name: n for n in
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.
return compiled_parent._render(context)...
class IncludeNode(Node):
def __init__(self, template, *args, **kwargs):
self.template = template
self.extra_context = kwargs.pop('extra_context', {})
Variable | Value |
---|---|
node | <ExtendsNode: extends "base.html"> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f81f22df190> |
compiled_parent | <django.template.base.Template object at 0x7f81f20ecd90> |
self | <ExtendsNode: extends "layout.html"> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
if context.template is None:
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7f81f20ecd90> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <ExtendsNode: extends "base.html"> |
self | [<ExtendsNode: extends "base.html">] |
bits | [] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <ExtendsNode: extends "base.html"> |
self | [<ExtendsNode: extends "base.html">] |
e | IndexError('list index out of range',) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/loader_tags.py
in render
blocks = {n.name: n for n in
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.
return compiled_parent._render(context)...
class IncludeNode(Node):
def __init__(self, template, *args, **kwargs):
self.template = template
self.extra_context = kwargs.pop('extra_context', {})
Variable | Value |
---|---|
node | <django.template.defaulttags.LoadNode object at 0x7f81f2248090> |
blocks | {u'body_class': <Block Node: body_class. Contents: [<Text Node: 'default'>]>, u'body_id': <Block Node: body_id. Contents: [<Text Node: 'default'>]>, u'cdn_scripts': <Block Node: cdn_scripts. Contents: [<Text Node: ' <!-- jQuery '>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2180f50>, <Text Node: '"><\/script>')</script> '>]>, u'description': <Block Node: description. Contents: [<Text Node: 'Wuelva Hermetico | herraj'>]>, u'extrahead': <Block Node: extrahead. Contents: []>, u'extrascripts': <Block Node: extrascripts. Contents: []>, u'extrastyles': <Block Node: extrastyles. Contents: []>, u'favicon': <Block Node: favicon. Contents: [<Text Node: ' <link rel="a'>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198310>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198f10>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198f50>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198b10>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198e90>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f21987d0>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198610>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248a50>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248250>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248490>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248610>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248410>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248210>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f22485d0>, <Text Node: '"> <meta name'>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248110>, <Text Node: '"> <meta name'>]>, u'js': <Block Node: js. Contents: [<Text Node: ' '>]>, u'keywords': <Block Node: keywords. Contents: []>, u'layout': <Block Node: layout. Contents: []>, u'mainstyles': <Block Node: mainstyles. Contents: [<Text Node: ' '>, <django.template.defaulttags.CommentNode object at 0x7f81f2148310>, <Text Node: ' '>, <Block Node: styles. Contents: [<Text Node: ' '>, <django.template.defaulttags.CommentNode object at 0x7f81f2148750>, <Text Node: ' '>]>, <Text Node: ' '>]>, u'onbodyload': <Block Node: onbodyload. Contents: []>, u'scripts': <Block Node: scripts. Contents: [<Text Node: ' '>]>, u'styles': <Block Node: styles. Contents: [<Text Node: ' '>, <django.template.defaulttags.CommentNode object at 0x7f81f2148750>, <Text Node: ' '>]>, u'title': <Block Node: title. Contents: [<Variable Node: shop_name>, <Text Node: ' - '>, <Variable Node: shop_tagline>]>, u'tracking': <Block Node: tracking. Contents: [<Text Node: ' '>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f2186410>, <Text Node: ' '>]>, u'viewport': <Block Node: viewport. Contents: [<Text Node: 'width=device-width'>]>} |
block_context | <django.template.loader_tags.BlockContext object at 0x7f81f22df190> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
compiled_parent | <django.template.base.Template object at 0x7f81f21bc7d0> |
self | <ExtendsNode: extends "base.html"> |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
if context.template is None:
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7f81f21bc7d0> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <Block Node: layout. Contents: []> |
bit | u'\n ' |
bits | [u'', u'\n', u'', u'\n<!DOCTYPE html>\n<!--[if lt IE 7]> <html lang="', u'en-gb', u'" class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->\n<!--[if IE 7]> <html lang="', u'en-gb', u'" class="no-js lt-ie9 lt-ie8"> <![endif]-->\n<!--[if IE 8]> <html lang="', u'en-gb', u'" class="no-js lt-ie9"> <![endif]-->\n<!--[if gt IE 8]><!--> <html lang="', u'en-gb', u'" class="no-js"> <!--<![endif]-->\n <head>\n <title>', u'', u'\n PANEL SANDWICH PUERTAS | \n Welba Herm\xe9tico - \n\n', u'</title>\n\n <meta http-equiv="content-type" content="text/html; charset=UTF-8" />\n <meta name="created" content="', u'29th Mar 2024 08:42', u'" />\n <meta name="description" content="', u'\n \n', u'" />\n <meta name="keywords" content="', u'', u'" />\n <meta name="viewport" content="', u'width=device-width', u', minimum-scale=1.0" />\n <meta name="robots" content="NOARCHIVE,NOCACHE" />\n\n <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->\n <!--[if lt IE 9]>\n <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>\n <![endif]-->\n\n ', u'\n <link rel="apple-touch-icon" sizes="57x57" href="/static/images/favicon/apple-icon-57x57.png">\n <link rel="apple-touch-icon" sizes="60x60" href="/static/images/favicon/apple-icon-60x60.png">\n <link rel="apple-touch-icon" sizes="72x72" href="/static/images/favicon/apple-icon-72x72.png">\n <link rel="apple-touch-icon" sizes="76x76" href="/static/images/favicon/apple-icon-76x76.png">\n <link rel="apple-touch-icon" sizes="114x114" href="/static/images/favicon/apple-icon-114x114.png">\n <link rel="apple-touch-icon" sizes="120x120" href="/static/images/favicon/apple-icon-120x120.png">\n <link rel="apple-touch-icon" sizes="144x144" href="/static/images/favicon/apple-icon-144x144.png">\n <link rel="apple-touch-icon" sizes="152x152" href="/static/images/favicon/apple-icon-152x152.png">\n <link rel="apple-touch-icon" sizes="180x180" href="/static/images/favicon/apple-icon-180x180.png">\n <link rel="icon" type="image/png" sizes="192x192" href="/static/images/favicon/android-icon-192x192.png">\n <link rel="icon" type="image/png" sizes="32x32" href="/static/images/favicon/favicon-32x32.png">\n <link rel="icon" type="image/png" sizes="96x96" href="/static/images/favicon/favicon-96x96.png">\n <link rel="icon" type="image/png" sizes="16x16" href="/static/images/favicon/favicon-16x16.png">\n <link rel="manifest" href="/static/images/favicon/manifest.json">\n <meta name="msapplication-TileColor" content="#ffffff">\n <meta name="msapplication-TileImage" content="/static/images/favicon//ms-icon-144x144.png">\n <meta name="theme-color" content="#ffffff">\n ', u'\n\n ', u'\n \n \n \n <link rel="stylesheet" type="text/css" href="/static/oscar/css/styles.css" />\n \n\n <link href=\'https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900italic,900\' rel=\'stylesheet\' type=\'text/css\'>\n <link href=\'https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic\' rel=\'stylesheet\' type=\'text/css\'>\n\n <link rel="stylesheet" type="text/css" href="/static/css/estilo.css" />\n <link rel="stylesheet" type="text/css" href="/static/css/font-awesome.min.css" />\n <link rel="stylesheet" type="text/css" href="/static/css/jquery-eu-cookie-law-popup.css" />\n\n \n \n', u'\n\n ', u'\n ', u'', u'\n\n ', u'', u'\n\n ', u'\n \n \n\n ', u'\n </head>\n\n <body id="', u'default', u'" class="', u'default', u' eupopup eupopup-bottomleft">\n ', u'\n '] |
self | [<django.template.defaulttags.LoadNode object at 0x7f81f2248090>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f81f215d090>, <Text Node: ' <!DOCTYPE html> <!--[if '>, <Variable Node: LANGUAGE_CODE|default:"en-gb">, <Text Node: '" class="no-js lt-ie9 lt-'>, <Variable Node: LANGUAGE_CODE|default:"en-gb">, <Text Node: '" class="no-js lt-ie9 lt-'>, <Variable Node: LANGUAGE_CODE|default:"en-gb">, <Text Node: '" class="no-js lt-ie9"> <'>, <Variable Node: LANGUAGE_CODE|default:"en-gb">, <Text Node: '" class="no-js"> <!--<![e'>, <IfNode>, <Block Node: title. Contents: [<Variable Node: shop_name>, <Text Node: ' - '>, <Variable Node: shop_tagline>]>, <Text Node: '</title> <meta h'>, <django.template.defaulttags.NowNode object at 0x7f81f2198410>, <Text Node: '" /> <meta name="'>, <Block Node: description. Contents: [<Text Node: 'Wuelva Hermetico | herraj'>]>, <Text Node: '" /> <meta name="'>, <Block Node: keywords. Contents: []>, <Text Node: '" /> <meta name="'>, <Block Node: viewport. Contents: [<Text Node: 'width=device-width'>]>, <Text Node: ', minimum-scale=1.0" /> '>, <Block Node: favicon. Contents: [<Text Node: ' <link rel="a'>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198310>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198f10>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198f50>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198b10>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198e90>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f21987d0>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198610>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248a50>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248250>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248490>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248610>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248410>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248210>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f22485d0>, <Text Node: '"> <meta name'>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248110>, <Text Node: '"> <meta name'>]>, <Text Node: ' '>, <Block Node: mainstyles. Contents: [<Text Node: ' '>, <django.template.defaulttags.CommentNode object at 0x7f81f2148310>, <Text Node: ' '>, <Block Node: styles. Contents: [<Text Node: ' '>, <django.template.defaulttags.CommentNode object at 0x7f81f2148750>, <Text Node: ' '>]>, <Text Node: ' '>]>, <Text Node: ' '>, <Text Node: ' '>, <Block Node: extrastyles. Contents: []>, <Text Node: ' '>, <Block Node: extrahead. Contents: []>, <Text Node: ' '>, <Block Node: tracking. Contents: [<Text Node: ' '>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f2186410>, <Text Node: ' '>]>, <Text Node: ' ... <trimmed 5378 bytes string> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <Block Node: layout. Contents: []> |
self | [<django.template.defaulttags.LoadNode object at 0x7f81f2248090>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f81f215d090>, <Text Node: ' <!DOCTYPE html> <!--[if '>, <Variable Node: LANGUAGE_CODE|default:"en-gb">, <Text Node: '" class="no-js lt-ie9 lt-'>, <Variable Node: LANGUAGE_CODE|default:"en-gb">, <Text Node: '" class="no-js lt-ie9 lt-'>, <Variable Node: LANGUAGE_CODE|default:"en-gb">, <Text Node: '" class="no-js lt-ie9"> <'>, <Variable Node: LANGUAGE_CODE|default:"en-gb">, <Text Node: '" class="no-js"> <!--<![e'>, <IfNode>, <Block Node: title. Contents: [<Variable Node: shop_name>, <Text Node: ' - '>, <Variable Node: shop_tagline>]>, <Text Node: '</title> <meta h'>, <django.template.defaulttags.NowNode object at 0x7f81f2198410>, <Text Node: '" /> <meta name="'>, <Block Node: description. Contents: [<Text Node: 'Wuelva Hermetico | herraj'>]>, <Text Node: '" /> <meta name="'>, <Block Node: keywords. Contents: []>, <Text Node: '" /> <meta name="'>, <Block Node: viewport. Contents: [<Text Node: 'width=device-width'>]>, <Text Node: ', minimum-scale=1.0" /> '>, <Block Node: favicon. Contents: [<Text Node: ' <link rel="a'>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198310>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198f10>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198f50>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198b10>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198e90>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f21987d0>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2198610>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248a50>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248250>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248490>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248610>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248410>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248210>, <Text Node: '"> <link rel='>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f22485d0>, <Text Node: '"> <meta name'>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f81f2248110>, <Text Node: '"> <meta name'>]>, <Text Node: ' '>, <Block Node: mainstyles. Contents: [<Text Node: ' '>, <django.template.defaulttags.CommentNode object at 0x7f81f2148310>, <Text Node: ' '>, <Block Node: styles. Contents: [<Text Node: ' '>, <django.template.defaulttags.CommentNode object at 0x7f81f2148750>, <Text Node: ' '>]>, <Text Node: ' '>]>, <Text Node: ' '>, <Text Node: ' '>, <Block Node: extrastyles. Contents: []>, <Text Node: ' '>, <Block Node: extrahead. Contents: []>, <Text Node: ' '>, <Block Node: tracking. Contents: [<Text Node: ' '>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f2186410>, <Text Node: ' '>]>, <Text Node: ' ... <trimmed 5378 bytes string> |
e | IndexError('list index out of range',) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/loader_tags.py
in render
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)
block.context = context
context['block'] = block
result = block.nodelist.render(context)...
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
push | <Block Node: layout. Contents: [<Text Node: ' <div class="containe'>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f215ddd0>, <Text Node: ' '>, <Text Node: ' <header class="h'>, <django.template.loader_tags.IncludeNode object at 0x7f81f23138d0>, <Text Node: ' </header> '>, <Text Node: ' '>, <Block Node: content_wrapper. Contents: [<Text Node: ' <div class="'>, <Block Node: content_header. Contents: []>, <Text Node: ' '>, <Block Node: breadcrumbs. Contents: []>, <Text Node: ' '>, <Block Node: header. Contents: [<Text Node: ' '>, <Block Node: headertext. Contents: []>, <Text Node: '</h1> '>]>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f2313690>, <Text Node: ' '>, <Block Node: subnavigation. Contents: []>, <Text Node: ' <div'>, <Block Node: subheader. Contents: []>, <Text Node: ' '>, <Text Node: ' '>, <For Node: for promotion in promotions_page, tail_len: 3>, <Text Node: ' '>, <Text Node: ' '>, <Block Node: content. Contents: []>, <Text Node: '</div> '>]>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f21bcdd0>, <Text Node: ' </div> '>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f81f22df190> |
block | <Block Node: layout. Contents: [<Text Node: ' <div class="containe'>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f215ddd0>, <Text Node: ' '>, <Text Node: ' <header class="h'>, <django.template.loader_tags.IncludeNode object at 0x7f81f23138d0>, <Text Node: ' </header> '>, <Text Node: ' '>, <Block Node: content_wrapper. Contents: [<Text Node: ' <div class="'>, <Block Node: content_header. Contents: []>, <Text Node: ' '>, <Block Node: breadcrumbs. Contents: []>, <Text Node: ' '>, <Block Node: header. Contents: [<Text Node: ' '>, <Block Node: headertext. Contents: []>, <Text Node: '</h1> '>]>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f2313690>, <Text Node: ' '>, <Block Node: subnavigation. Contents: []>, <Text Node: ' <div'>, <Block Node: subheader. Contents: []>, <Text Node: ' '>, <Text Node: ' '>, <For Node: for promotion in promotions_page, tail_len: 3>, <Text Node: ' '>, <Text Node: ' '>, <Block Node: content. Contents: []>, <Text Node: '</div> '>]>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f21bcdd0>, <Text Node: ' </div> '>]> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
self | <Block Node: layout. Contents: []> |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <Block Node: content_wrapper. Contents: [<Text Node: ' <div class="'>, <Block Node: content_header. Contents: []>, <Text Node: ' '>, <Block Node: breadcrumbs. Contents: []>, <Text Node: ' '>, <Block Node: header. Contents: [<Text Node: ' '>, <Block Node: headertext. Contents: []>, <Text Node: '</h1> '>]>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f2313690>, <Text Node: ' '>, <Block Node: subnavigation. Contents: []>, <Text Node: ' <div'>, <Block Node: subheader. Contents: []>, <Text Node: ' '>, <Text Node: ' '>, <For Node: for promotion in promotions_page, tail_len: 3>, <Text Node: ' '>, <Text Node: ' '>, <Block Node: content. Contents: []>, <Text Node: '</div> '>]> |
bit | u'\n ' |
bits | [u'\n <div class="container-fluid">\n ', u'\n ', u'\n\n<div id="top_page" class="navbar navbar-default navbar-static-top accounts">\n \n <div class="row">\n <div class="col-sm-6">\n <ul class="list-inline contacto">\n <li>\n <i class="fa fa-phone"></i> 959 804 800\n </li>\n <li>\n <i class="fa fa-envelope"></i> <a href="mailto:hermetico@hermetico.com">hermetico@hermetico.com</a>\n </li>\n </ul>\n </div>\n <div class="col-sm-6">\n <div class="navbar-header">\n <a class="btn btn-default navbar-toggle collapsed" data-toggle="collapse" data-target=".account-collapse">\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n </div>\n\n <div class="navbar-collapse account-collapse collapse">\n <ul class="nav navbar-nav navbar-right">\n \n <li><a id="login_link" href="/accounts/login/"><i class="icon-signin"></i> Inicio de sesi\xf3n o registro</a></li>\n \n </ul>\n </div>\n </div>\n </div>\n</div>\n', u'\n\n ', u'\n <header class="header">\n ', u'\n\n\n\n<div class="navbar primary navbar-static-top navbar-inverse">\n <div class="container-fluid">\n <a class="navbar-brand" href="/"><img src="/static/images/logo.png" alt=""></a>\n <div class="navbar-header pull-right">\n \n <a class="navbar-toggle" data-toggle="collapse" data-target=".primary-collapse">\n <span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </span>\n </a>\n </div>\n\n\n <div class="navbar-collapse primary-collapse collapse">\n \n <ul id="browse" class="nav navbar-nav">\n <li>\n <a href="/">Inicio</a>\n </li>\n <li>\n <a href="/la-empresa/">La Empresa</a>\n </li>\n <li class="dropdown">\n <a href="#" class="dropdown-toggle" data-toggle="dropdown">\n Productos\n <b class="caret"></b>\n </a>\n <ul class="dropdown-menu" data-navigation="dropdown-menu">\n \n <li><a tabindex="-1" href="/catalogue/">Todos los productos </a></li>\n \n <li class="divider"></li>\n \n \n <li><a tabindex="-1" href="/catalogue/category/familia-cero_1/">FAMILIA CERO</a></li>\n \n\n \n \n \n <li><a tabindex="-1" href="/catalogue/category/stk-accesorios-pergola-y-barandilla_3/">STK ACCESORIOS PERGOLA Y BARANDILLA</a></li>\n \n\n \n \n \n <li><a tabindex="-1" href="/catalogue/category/stk-accesorios-pergola-y-barandilla-inox_4/">STK ACCESORIOS PERGOLA Y BARANDILLA INOX</a></li>\n \n\n \n \n \n <li><a tabindex="-1" href="/catalogue/cate... <trimmed 42972 bytes string> |
self | [<Text Node: ' <div class="containe'>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f215ddd0>, <Text Node: ' '>, <Text Node: ' <header class="h'>, <django.template.loader_tags.IncludeNode object at 0x7f81f23138d0>, <Text Node: ' </header> '>, <Text Node: ' '>, <Block Node: content_wrapper. Contents: [<Text Node: ' <div class="'>, <Block Node: content_header. Contents: []>, <Text Node: ' '>, <Block Node: breadcrumbs. Contents: []>, <Text Node: ' '>, <Block Node: header. Contents: [<Text Node: ' '>, <Block Node: headertext. Contents: []>, <Text Node: '</h1> '>]>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f2313690>, <Text Node: ' '>, <Block Node: subnavigation. Contents: []>, <Text Node: ' <div'>, <Block Node: subheader. Contents: []>, <Text Node: ' '>, <Text Node: ' '>, <For Node: for promotion in promotions_page, tail_len: 3>, <Text Node: ' '>, <Text Node: ' '>, <Block Node: content. Contents: []>, <Text Node: '</div> '>]>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f21bcdd0>, <Text Node: ' </div> '>] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <Block Node: content_wrapper. Contents: [<Text Node: ' <div class="'>, <Block Node: content_header. Contents: []>, <Text Node: ' '>, <Block Node: breadcrumbs. Contents: []>, <Text Node: ' '>, <Block Node: header. Contents: [<Text Node: ' '>, <Block Node: headertext. Contents: []>, <Text Node: '</h1> '>]>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f2313690>, <Text Node: ' '>, <Block Node: subnavigation. Contents: []>, <Text Node: ' <div'>, <Block Node: subheader. Contents: []>, <Text Node: ' '>, <Text Node: ' '>, <For Node: for promotion in promotions_page, tail_len: 3>, <Text Node: ' '>, <Text Node: ' '>, <Block Node: content. Contents: []>, <Text Node: '</div> '>]> |
self | [<Text Node: ' <div class="containe'>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f215ddd0>, <Text Node: ' '>, <Text Node: ' <header class="h'>, <django.template.loader_tags.IncludeNode object at 0x7f81f23138d0>, <Text Node: ' </header> '>, <Text Node: ' '>, <Block Node: content_wrapper. Contents: [<Text Node: ' <div class="'>, <Block Node: content_header. Contents: []>, <Text Node: ' '>, <Block Node: breadcrumbs. Contents: []>, <Text Node: ' '>, <Block Node: header. Contents: [<Text Node: ' '>, <Block Node: headertext. Contents: []>, <Text Node: '</h1> '>]>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f2313690>, <Text Node: ' '>, <Block Node: subnavigation. Contents: []>, <Text Node: ' <div'>, <Block Node: subheader. Contents: []>, <Text Node: ' '>, <Text Node: ' '>, <For Node: for promotion in promotions_page, tail_len: 3>, <Text Node: ' '>, <Text Node: ' '>, <Block Node: content. Contents: []>, <Text Node: '</div> '>]>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f21bcdd0>, <Text Node: ' </div> '>] |
e | IndexError('list index out of range',) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/loader_tags.py
in render
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)
block.context = context
context['block'] = block
result = block.nodelist.render(context)...
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
push | <Block Node: content_wrapper. Contents: [<Text Node: ' <div class="page"> '>, <Block Node: breadcrumbs. Contents: []>, <Text Node: ' <div class="'>, <Text Node: ' <div'>, <For Node: for promotion in promotions_left, tail_len: 3>, <Text Node: ' </di'>, <Block Node: column_left. Contents: []>, <Text Node: ' </aside>'>, <Block Node: header. Contents: [<Text Node: ' <div'>, <Block Node: headertext. Contents: []>, <Text Node: '</h1> '>]>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f21a3d10>, <Text Node: ' <di'>, <For Node: for promotion in promotions_page, tail_len: 3>, <Text Node: ' </di'>, <Block Node: content. Contents: []>, <Text Node: ' </div> '>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f81f22df190> |
block | <Block Node: content_wrapper. Contents: [<Text Node: ' <div class="page"> '>, <Block Node: breadcrumbs. Contents: []>, <Text Node: ' <div class="'>, <Text Node: ' <div'>, <For Node: for promotion in promotions_left, tail_len: 3>, <Text Node: ' </di'>, <Block Node: column_left. Contents: []>, <Text Node: ' </aside>'>, <Block Node: header. Contents: [<Text Node: ' <div'>, <Block Node: headertext. Contents: []>, <Text Node: '</h1> '>]>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f21a3d10>, <Text Node: ' <di'>, <For Node: for promotion in promotions_page, tail_len: 3>, <Text Node: ' </di'>, <Block Node: content. Contents: []>, <Text Node: ' </div> '>]> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
self | <Block Node: content_wrapper. Contents: [<Text Node: ' <div class="'>, <Block Node: content_header. Contents: []>, <Text Node: ' '>, <Block Node: breadcrumbs. Contents: []>, <Text Node: ' '>, <Block Node: header. Contents: [<Text Node: ' '>, <Block Node: headertext. Contents: []>, <Text Node: '</h1> '>]>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f2313690>, <Text Node: ' '>, <Block Node: subnavigation. Contents: []>, <Text Node: ' <div'>, <Block Node: subheader. Contents: []>, <Text Node: ' '>, <Text Node: ' '>, <For Node: for promotion in promotions_page, tail_len: 3>, <Text Node: ' '>, <Text Node: ' '>, <Block Node: content. Contents: []>, <Text Node: '</div> '>]> |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <Block Node: content. Contents: []> |
bit | u'\n </div>\n\n ' |
bits | [u'\n <div class="page">\n <div class="page_inner">\n ', u'\n <ul class="breadcrumb">\n <li>\n <a href="/">Inicio</a>\n </li>\n \n <li class="active">PANEL SANDWICH PUERTAS</li>\n </ul>\n', u'\n <div class="row">\n\n <aside class="sidebar col-sm-4 col-md-3">\n ', u'\n <div id="promotions_left">\n ', u'', u'\n </div>\n ', u'\n \n \n <h4>Mostrar resultados para</h4>\n <div class="side_categories">\n <ul class="nav nav-list">\n \n <li>\n \n <a href="/catalogue/category/familia-cero_1/">FAMILIA CERO</a>\n \n\n </li>\n \n \n <li>\n \n <a href="/catalogue/category/stk-accesorios-pergola-y-barandilla_3/">STK ACCESORIOS PERGOLA Y BARANDILLA</a>\n \n\n </li>\n \n \n <li>\n \n <a href="/catalogue/category/stk-accesorios-pergola-y-barandilla-inox_4/">STK ACCESORIOS PERGOLA Y BARANDILLA INOX</a>\n \n\n </li>\n \n \n <li>\n \n <a href="/catalogue/category/zzzz_6/">ZZZZ</a>\n \n\n </li>\n \n \n <li>\n \n <a href="/catalogue/category/stk-cerraderos_12/">STK CERRADEROS</a>\n \n\n </li>\n \n \n <li>\n \n <a href="/catalogue/category/stk-cerraderos-electricos_13/">STK CERRADEROS ELECTRICOS</a>\n \n\n </li>\n \n \n <li>\n \n <a href="/catalogue/category/stk-tapones-de-plastico_17/">STK TAPONES DE PLASTICO</a>\n \n\n </li>\n \n \n <li>\n \n <a href="/catalogue/category/stk-deflectores_19/">STK DEFLECTORES</a>\n \n\n </li>\n \n \n <li>\n \n <a href="/catalogue/category/zzzz_2_20/">ZZZZ</a>\n \n\n </li>\n \n \n <li>\n \n <a href="/catalogue/category/stk-esc-eur-pte-normal_21/">STK ESC. EUR. PTE. NORMAL</a>\n \n\n </li>\n \n \n <li>\n \n <a href="/catalogue/category/stk-esc-eur-pte-largo_22/">STK ESC. EUR. PTE. LARGO</a>\n \n\n </li>\n \n \n <li>\n \n <a href="/catalogue/category/stk-esc-abiertas_23/">STK ESC. ABIERTAS</a>\n \n\n </li>\n \n \n <li>\n \n <a href="/catalogue/category/stk-esc-fundida-muelle_24/">STK ESC. FUNDIDA MUELLE</a>\n \n\n </li>\n \n \n <li>\n \n <a href="/catalogue/category/stk-esc-graduables_25/">STK ESC. GRADUABLES</a>\n \n\n </li>\n \n \n ... <trimmed 32827 bytes string> |
self | [<Text Node: ' <div class="page"> '>, <Block Node: breadcrumbs. Contents: []>, <Text Node: ' <div class="'>, <Text Node: ' <div'>, <For Node: for promotion in promotions_left, tail_len: 3>, <Text Node: ' </di'>, <Block Node: column_left. Contents: []>, <Text Node: ' </aside>'>, <Block Node: header. Contents: [<Text Node: ' <div'>, <Block Node: headertext. Contents: []>, <Text Node: '</h1> '>]>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f21a3d10>, <Text Node: ' <di'>, <For Node: for promotion in promotions_page, tail_len: 3>, <Text Node: ' </di'>, <Block Node: content. Contents: []>, <Text Node: ' </div> '>] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <Block Node: content. Contents: []> |
self | [<Text Node: ' <div class="page"> '>, <Block Node: breadcrumbs. Contents: []>, <Text Node: ' <div class="'>, <Text Node: ' <div'>, <For Node: for promotion in promotions_left, tail_len: 3>, <Text Node: ' </di'>, <Block Node: column_left. Contents: []>, <Text Node: ' </aside>'>, <Block Node: header. Contents: [<Text Node: ' <div'>, <Block Node: headertext. Contents: []>, <Text Node: '</h1> '>]>, <Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f81f21a3d10>, <Text Node: ' <di'>, <For Node: for promotion in promotions_page, tail_len: 3>, <Text Node: ' </di'>, <Block Node: content. Contents: []>, <Text Node: ' </div> '>] |
e | IndexError('list index out of range',) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/loader_tags.py
in render
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)
block.context = context
context['block'] = block
result = block.nodelist.render(context)...
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
push | <Block Node: content. Contents: [<Text Node: ' '>, <IfNode>, <Text Node: ' '>, <Variable Node: block.super>, <Text Node: ' '>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f81f22df190> |
block | <Block Node: content. Contents: [<Text Node: ' '>, <IfNode>, <Text Node: ' '>, <Variable Node: block.super>, <Text Node: ' '>]> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
self | <Block Node: content. Contents: []> |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <Variable Node: block.super> |
bit | u'\n ' |
bits | [u'\n ', u'', u'\n '] |
self | [<Text Node: ' '>, <IfNode>, <Text Node: ' '>, <Variable Node: block.super>, <Text Node: ' '>] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <Variable Node: block.super> |
self | [<Text Node: ' '>, <IfNode>, <Text Node: ' '>, <Variable Node: block.super>, <Text Node: ' '>] |
e | IndexError('list index out of range',) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/debug.py
in render
e.django_template_source = node.source
raise
class DebugVariableNode(VariableNode):
def render(self, context):
try:
output = self.filter_expression.resolve(context)...
output = template_localtime(output, use_tz=context.use_tz)
output = localize(output, use_l10n=context.use_l10n)
output = force_text(output)
except UnicodeDecodeError:
return ''
except Exception as e:
Variable | Value |
---|---|
self | <Variable Node: block.super> |
e | IndexError('list index out of range',) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/base.py
in resolve
self.filters = filters
self.var = var_obj
def resolve(self, context, ignore_failures=False):
if isinstance(self.var, Variable):
try:
obj = self.var.resolve(context)...
except VariableDoesNotExist:
if ignore_failures:
obj = None
else:
string_if_invalid = context.template.engine.string_if_invalid
if string_if_invalid:
Variable | Value |
---|---|
self | <django.template.base.FilterExpression object at 0x7f81f22df750> |
ignore_failures | False |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/base.py
in resolve
var)
self.lookups = tuple(var.split(VARIABLE_ATTRIBUTE_SEPARATOR))
def resolve(self, context):
"""Resolve this variable against a given context."""
if self.lookups is not None:
# We're dealing with a variable that needs to be resolved
value = self._resolve_lookup(context)...
else:
# We're dealing with a literal, so it's already been "resolved"
value = self.literal
if self.translate:
if self.message_context:
return pgettext_lazy(self.message_context, value)
Variable | Value |
---|---|
self | <Variable: u'block.super'> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/base.py
in _resolve_lookup
if callable(current):
if getattr(current, 'do_not_call_in_templates', False):
pass
elif getattr(current, 'alters_data', False):
current = context.template.engine.string_if_invalid
else:
try: # method call (assuming no args required)
current = current()...
except TypeError:
try:
inspect.getcallargs(current)
except TypeError: # arguments *were* required
current = context.template.engine.string_if_invalid # invalid method call
else:
Variable | Value |
---|---|
current | <bound method BlockNode.super of <Block Node: content. Contents: [<Text Node: ' '>, <IfNode>, <Text Node: ' '>, <Variable Node: block.super>, <Text Node: ' '>]>> |
bit | u'super' |
e | IndexError('list index out of range',) |
self | <Variable: u'block.super'> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/loader_tags.py
in super
raise TemplateSyntaxError(
"'%s' object has no attribute 'context'. Did you use "
"{{ block.super }} in a base template?" % self.__class__.__name__
)
render_context = self.context.render_context
if (BLOCK_CONTEXT_KEY in render_context and
render_context[BLOCK_CONTEXT_KEY].get_block(self.name) is not None):
return mark_safe(self.render(self.context))...
return ''
class ExtendsNode(Node):
must_be_first = True
Variable | Value |
---|---|
render_context | [{'False': False, 'None': None, 'True': True}] |
self | <Block Node: content. Contents: [<Text Node: ' '>, <IfNode>, <Text Node: ' '>, <Variable Node: block.super>, <Text Node: ' '>]> |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/loader_tags.py
in render
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)
block.context = context
context['block'] = block
result = block.nodelist.render(context)...
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
push | <Block Node: content. Contents: [<Text Node: ' <form method="get" '>, <Text Node: ' <div style="disp'>, <For Node: for value in selected_facets, tail_len: 3>, <Text Node: ' '>, <Variable Node: form.q>, <Text Node: ' </div> '>, <IfNode>, <Text Node: ' </form> '>, <IfNode>, <Text Node: ' '>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f81f22df190> |
block | <Block Node: content. Contents: [<Text Node: ' <form method="get" '>, <Text Node: ' <div style="disp'>, <For Node: for value in selected_facets, tail_len: 3>, <Text Node: ' '>, <Variable Node: form.q>, <Text Node: ' </div> '>, <IfNode>, <Text Node: ' </form> '>, <IfNode>, <Text Node: ' '>]> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
self | <Block Node: content. Contents: [<Text Node: ' '>, <IfNode>, <Text Node: ' '>, <Variable Node: block.super>, <Text Node: ' '>]> |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <IfNode> |
bit | u'\n </form>\n\n ' |
bits | [u'\n\n <form method="get" class="form-horizontal">\n ', u'\n <div style="display:none">\n ', u'', u'\n ', u'', u'\n </div>\n\n ', u'\n \n \n<strong>1</strong> resultado.\n \n \n \n ', u'\n </form>\n\n '] |
self | [<Text Node: ' <form method="get" '>, <Text Node: ' <div style="disp'>, <For Node: for value in selected_facets, tail_len: 3>, <Text Node: ' '>, <Variable Node: form.q>, <Text Node: ' </div> '>, <IfNode>, <Text Node: ' </form> '>, <IfNode>, <Text Node: ' '>] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <IfNode> |
self | [<Text Node: ' <form method="get" '>, <Text Node: ' <div style="disp'>, <For Node: for value in selected_facets, tail_len: 3>, <Text Node: ' '>, <Variable Node: form.q>, <Text Node: ' </div> '>, <IfNode>, <Text Node: ' </form> '>, <IfNode>, <Text Node: ' '>] |
e | IndexError('list index out of range',) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/defaulttags.py
in render
match = condition.eval(context)
except VariableDoesNotExist:
match = None
else: # else clause
match = True
if match:
return nodelist.render(context)...
return ''
class LoremNode(Node):
def __init__(self, count, method, common):
Variable | Value |
---|---|
self | <IfNode> |
match | [<Product: POMO 6099 INOX>] |
nodelist | [<Text Node: ' <section> '>, <For Node: for product in products, tail_len: 3>, <Text Node: ' </ol> '>, <django.template.loader_tags.IncludeNode object at 0x7f81f2226d50>, <Text Node: ' </div> '>] |
condition | (literal <django.template.base.FilterExpression object at 0x7f81f2226990>) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <For Node: for product in products, tail_len: 3> |
bit | u'\n <section>\n <div>\n <ol class="row">\n ' |
bits | [u'\n <section>\n <div>\n <ol class="row">\n '] |
self | [<Text Node: ' <section> '>, <For Node: for product in products, tail_len: 3>, <Text Node: ' </ol> '>, <django.template.loader_tags.IncludeNode object at 0x7f81f2226d50>, <Text Node: ' </div> '>] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <For Node: for product in products, tail_len: 3> |
self | [<Text Node: ' <section> '>, <For Node: for product in products, tail_len: 3>, <Text Node: ' </ol> '>, <django.template.loader_tags.IncludeNode object at 0x7f81f2226d50>, <Text Node: ' </div> '>] |
e | IndexError('list index out of range',) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/defaulttags.py
in render
else:
context[self.loopvars[0]] = item
# In debug mode provide the source of the node which raised
# the exception
if context.template.engine.debug:
for node in self.nodelist_loop:
try:
nodelist.append(node.render(context))...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
else:
for node in self.nodelist_loop:
Variable | Value |
---|---|
node | <django.template.base.SimpleNode object at 0x7f81f21a3490> |
len_values | 1 |
pop_context | False |
e | IndexError('list index out of range',) |
item | <Product: POMO 6099 INOX> |
loop_dict | {u'counter': 1, u'counter0': 0, u'first': True, u'last': True, u'parentloop': {}, u'revcounter': 1, u'revcounter0': 0} |
self | <For Node: for product in products, tail_len: 3> |
parentloop | {} |
i | 0 |
values | [<Product: POMO 6099 INOX>] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
num_loopvars | 1 |
nodelist | [u'\n <li class="col-xs-6 col-sm-4 col-md-3 col-lg-3">'] |
unpack | False |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/base.py
in render
def dec(func):
params, varargs, varkw, defaults = getargspec(func)
class SimpleNode(TagHelperNode):
def render(self, context):
resolved_args, resolved_kwargs = self.get_resolved_arguments(context)
return func(*resolved_args, **resolved_kwargs)...
function_name = (name or
getattr(func, '_decorated_function', func).__name__)
compile_func = partial(generic_tag_compiler,
params=params, varargs=varargs, varkw=varkw,
defaults=defaults, name=function_name,
Variable | Value |
---|---|
resolved_kwargs | {} |
self | <django.template.base.SimpleNode object at 0x7f81f21a3490> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
func | <function render_product at 0x7f81f23460c8> |
resolved_args | [[{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}], <Product: POMO 6099 INOX>] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/oscar/templatetags/product_tags.py
in render_product
names = ['catalogue/partials/product/upc-%s.html' % product.upc,
'catalogue/partials/product/class-%s.html'
% product.get_product_class().slug,
'catalogue/partials/product.html']
template_ = select_template(names)
# Ensure the passed product is in the context as 'product'
context['product'] = product
return template_.render(context)...
Variable | Value |
---|---|
product | <Product: POMO 6099 INOX> |
template_ | <django.template.backends.django.Template object at 0x7f81f86f0bd0> |
names | [u'catalogue/partials/product/upc-0303.0500.05.0.html', u'catalogue/partials/product/class--2.html', 'catalogue/partials/product.html'] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/backends/django.py
in render
warnings.warn(
"render() must be called with a dict, not a Context.",
RemovedInDjango110Warning, stacklevel=2)
else:
context = make_context(context, request)
return self.template.render(context)...
Variable | Value |
---|---|
self | <django.template.backends.django.Template object at 0x7f81f86f0bd0> |
request | None |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/base.py
in render
"Display stage -- can be called many times"
context.render_context.push()
try:
if context.template is None:
with context.bind_template(self):
return self._render(context)
else:
return self._render(context)...
finally:
context.render_context.pop()
class Token(object):
def __init__(self, token_type, contents):
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7f81f22489d0> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
if context.template is None:
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7f81f22489d0> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <Block Node: product. Contents: [<Text Node: ' <article class="prod'>, <Block Node: product_image. Contents: [<Text Node: ' <div class="'>, <WithNode>, <Text Node: ' </div> '>]>, <Text Node: ' '>, <Block Node: product_review. Contents: [<Text Node: ' '>, <oscar.templatetags.display_tags.ConditionalOutputNode object at 0x7f81f214ea10>, <Text Node: ' '>]>, <Text Node: ' '>, <Block Node: product_title. Contents: [<Text Node: ' <h3><a href='>, <Variable Node: product.get_absolute_url>, <Text Node: '" title="'>, <Variable Node: product.get_title>, <Text Node: '">'>, <Variable Node: product.get_title|truncatewords:4>, <Text Node: '</a></h3> '>]>, <Text Node: ' '>, <Block Node: product_price. Contents: [<Text Node: ' <div class="'>, <django.template.loader_tags.IncludeNode object at 0x7f81f214e910>, <Text Node: ' '>, <IfNode>, <Text Node: ' </div> '>]>, <Text Node: ' </article> '>]> |
bit | u'\n\n' |
bits | [u'', u'\n', u'', u'\n', u'', u'\n', u'', u'\n', u'', u'\n\n'] |
self | [<django.template.defaulttags.LoadNode object at 0x7f81f21e91d0>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f81f21d66d0>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f81f21d6c10>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f81f21db090>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f81f21dbf90>, <Text Node: ' '>, <Block Node: product. Contents: [<Text Node: ' <article class="prod'>, <Block Node: product_image. Contents: [<Text Node: ' <div class="'>, <WithNode>, <Text Node: ' </div> '>]>, <Text Node: ' '>, <Block Node: product_review. Contents: [<Text Node: ' '>, <oscar.templatetags.display_tags.ConditionalOutputNode object at 0x7f81f214ea10>, <Text Node: ' '>]>, <Text Node: ' '>, <Block Node: product_title. Contents: [<Text Node: ' <h3><a href='>, <Variable Node: product.get_absolute_url>, <Text Node: '" title="'>, <Variable Node: product.get_title>, <Text Node: '">'>, <Variable Node: product.get_title|truncatewords:4>, <Text Node: '</a></h3> '>]>, <Text Node: ' '>, <Block Node: product_price. Contents: [<Text Node: ' <div class="'>, <django.template.loader_tags.IncludeNode object at 0x7f81f214e910>, <Text Node: ' '>, <IfNode>, <Text Node: ' </div> '>]>, <Text Node: ' </article> '>]>, <Text Node: ' '>] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <Block Node: product. Contents: [<Text Node: ' <article class="prod'>, <Block Node: product_image. Contents: [<Text Node: ' <div class="'>, <WithNode>, <Text Node: ' </div> '>]>, <Text Node: ' '>, <Block Node: product_review. Contents: [<Text Node: ' '>, <oscar.templatetags.display_tags.ConditionalOutputNode object at 0x7f81f214ea10>, <Text Node: ' '>]>, <Text Node: ' '>, <Block Node: product_title. Contents: [<Text Node: ' <h3><a href='>, <Variable Node: product.get_absolute_url>, <Text Node: '" title="'>, <Variable Node: product.get_title>, <Text Node: '">'>, <Variable Node: product.get_title|truncatewords:4>, <Text Node: '</a></h3> '>]>, <Text Node: ' '>, <Block Node: product_price. Contents: [<Text Node: ' <div class="'>, <django.template.loader_tags.IncludeNode object at 0x7f81f214e910>, <Text Node: ' '>, <IfNode>, <Text Node: ' </div> '>]>, <Text Node: ' </article> '>]> |
self | [<django.template.defaulttags.LoadNode object at 0x7f81f21e91d0>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f81f21d66d0>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f81f21d6c10>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f81f21db090>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f81f21dbf90>, <Text Node: ' '>, <Block Node: product. Contents: [<Text Node: ' <article class="prod'>, <Block Node: product_image. Contents: [<Text Node: ' <div class="'>, <WithNode>, <Text Node: ' </div> '>]>, <Text Node: ' '>, <Block Node: product_review. Contents: [<Text Node: ' '>, <oscar.templatetags.display_tags.ConditionalOutputNode object at 0x7f81f214ea10>, <Text Node: ' '>]>, <Text Node: ' '>, <Block Node: product_title. Contents: [<Text Node: ' <h3><a href='>, <Variable Node: product.get_absolute_url>, <Text Node: '" title="'>, <Variable Node: product.get_title>, <Text Node: '">'>, <Variable Node: product.get_title|truncatewords:4>, <Text Node: '</a></h3> '>]>, <Text Node: ' '>, <Block Node: product_price. Contents: [<Text Node: ' <div class="'>, <django.template.loader_tags.IncludeNode object at 0x7f81f214e910>, <Text Node: ' '>, <IfNode>, <Text Node: ' </div> '>]>, <Text Node: ' </article> '>]>, <Text Node: ' '>] |
e | IndexError('list index out of range',) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 |
self | <Block Node: product. Contents: [<Text Node: ' <article class="prod'>, <Block Node: product_image. Contents: [<Text Node: ' <div class="'>, <WithNode>, <Text Node: ' </div> '>]>, <Text Node: ' '>, <Block Node: product_review. Contents: [<Text Node: ' '>, <oscar.templatetags.display_tags.ConditionalOutputNode object at 0x7f81f214ea10>, <Text Node: ' '>]>, <Text Node: ' '>, <Block Node: product_title. Contents: [<Text Node: ' <h3><a href='>, <Variable Node: product.get_absolute_url>, <Text Node: '" title="'>, <Variable Node: product.get_title>, <Text Node: '">'>, <Variable Node: product.get_title|truncatewords:4>, <Text Node: '</a></h3> '>]>, <Text Node: ' '>, <Block Node: product_price. Contents: [<Text Node: ' <div class="'>, <django.template.loader_tags.IncludeNode object at 0x7f81f214e910>, <Text Node: ' '>, <IfNode>, <Text Node: ' </div> '>]>, <Text Node: ' </article> '>]> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <Block Node: product_price. Contents: [<Text Node: ' <div class="'>, <django.template.loader_tags.IncludeNode object at 0x7f81f214e910>, <Text Node: ' '>, <IfNode>, <Text Node: ' </div> '>]> |
bit | u'\n\n ' |
bits | [u'\n <article class="product_pod">\n ', u'\n <div class="image_container">\n \n \n \n </div>\n ', u'\n\n ', u'\n \n <p class="star-rating ">\n <i class="icon-star"></i>\n <i class="icon-star"></i>\n <i class="icon-star"></i>\n <i class="icon-star"></i>\n <i class="icon-star"></i>\n </p>\n \n ', u'\n\n ', u'\n <h3><a href="/catalogue/pomo-6099-inox_1248/" title="POMO 6099 INOX">POMO 6099 INOX</a></h3>\n ', u'\n\n '] |
self | [<Text Node: ' <article class="prod'>, <Block Node: product_image. Contents: [<Text Node: ' <div class="'>, <WithNode>, <Text Node: ' </div> '>]>, <Text Node: ' '>, <Block Node: product_review. Contents: [<Text Node: ' '>, <oscar.templatetags.display_tags.ConditionalOutputNode object at 0x7f81f214ea10>, <Text Node: ' '>]>, <Text Node: ' '>, <Block Node: product_title. Contents: [<Text Node: ' <h3><a href='>, <Variable Node: product.get_absolute_url>, <Text Node: '" title="'>, <Variable Node: product.get_title>, <Text Node: '">'>, <Variable Node: product.get_title|truncatewords:4>, <Text Node: '</a></h3> '>]>, <Text Node: ' '>, <Block Node: product_price. Contents: [<Text Node: ' <div class="'>, <django.template.loader_tags.IncludeNode object at 0x7f81f214e910>, <Text Node: ' '>, <IfNode>, <Text Node: ' </div> '>]>, <Text Node: ' </article> '>] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <Block Node: product_price. Contents: [<Text Node: ' <div class="'>, <django.template.loader_tags.IncludeNode object at 0x7f81f214e910>, <Text Node: ' '>, <IfNode>, <Text Node: ' </div> '>]> |
self | [<Text Node: ' <article class="prod'>, <Block Node: product_image. Contents: [<Text Node: ' <div class="'>, <WithNode>, <Text Node: ' </div> '>]>, <Text Node: ' '>, <Block Node: product_review. Contents: [<Text Node: ' '>, <oscar.templatetags.display_tags.ConditionalOutputNode object at 0x7f81f214ea10>, <Text Node: ' '>]>, <Text Node: ' '>, <Block Node: product_title. Contents: [<Text Node: ' <h3><a href='>, <Variable Node: product.get_absolute_url>, <Text Node: '" title="'>, <Variable Node: product.get_title>, <Text Node: '">'>, <Variable Node: product.get_title|truncatewords:4>, <Text Node: '</a></h3> '>]>, <Text Node: ' '>, <Block Node: product_price. Contents: [<Text Node: ' <div class="'>, <django.template.loader_tags.IncludeNode object at 0x7f81f214e910>, <Text Node: ' '>, <IfNode>, <Text Node: ' </div> '>]>, <Text Node: ' </article> '>] |
e | IndexError('list index out of range',) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 |
self | <Block Node: product_price. Contents: [<Text Node: ' <div class="'>, <django.template.loader_tags.IncludeNode object at 0x7f81f214e910>, <Text Node: ' '>, <IfNode>, <Text Node: ' </div> '>]> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <django.template.loader_tags.IncludeNode object at 0x7f81f214e910> |
bit | u'\n <div class="product_price">\n ' |
bits | [u'\n <div class="product_price">\n '] |
self | [<Text Node: ' <div class="'>, <django.template.loader_tags.IncludeNode object at 0x7f81f214e910>, <Text Node: ' '>, <IfNode>, <Text Node: ' </div> '>] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <django.template.loader_tags.IncludeNode object at 0x7f81f214e910> |
self | [<Text Node: ' <div class="'>, <django.template.loader_tags.IncludeNode object at 0x7f81f214e910>, <Text Node: ' '>, <IfNode>, <Text Node: ' </div> '>] |
e | IndexError('list index out of range',) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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:
if context.template.engine.debug:
raise
return ''
Variable | Value |
---|---|
self | <django.template.loader_tags.IncludeNode object at 0x7f81f214e910> |
values | {} |
template | <django.template.base.Template object at 0x7f81f21e97d0> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/base.py
in render
"Display stage -- can be called many times"
context.render_context.push()
try:
if context.template is None:
with context.bind_template(self):
return self._render(context)
else:
return self._render(context)...
finally:
context.render_context.pop()
class Token(object):
def __init__(self, token_type, contents):
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7f81f21e97d0> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
if context.template is None:
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7f81f21e97d0> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/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 = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <django.template.base.AssignmentNode object at 0x7f81f21e9950> |
bit | u'\n\n' |
bits | [u'', u'\n', u'', u'\n', u'', u'\n\n'] |
self | [<django.template.defaulttags.LoadNode object at 0x7f81f21e53d0>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f81f21e9850>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f81f21e9890>, <Text Node: ' '>, <django.template.base.AssignmentNode object at 0x7f81f21e9950>, <Text Node: ' '>, <IfNode>, <Text Node: ' <p class="'>, <Variable Node: session.availability.code>, <Text Node: ' availability"> <i cl'>, <IfNode>, <Text Node: '"></i> '>, <IfNode>, <Text Node: ' </p> '>] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <django.template.base.AssignmentNode object at 0x7f81f21e9950> |
self | [<django.template.defaulttags.LoadNode object at 0x7f81f21e53d0>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f81f21e9850>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f81f21e9890>, <Text Node: ' '>, <django.template.base.AssignmentNode object at 0x7f81f21e9950>, <Text Node: ' '>, <IfNode>, <Text Node: ' <p class="'>, <Variable Node: session.availability.code>, <Text Node: ' availability"> <i cl'>, <IfNode>, <Text Node: '"></i> '>, <IfNode>, <Text Node: ' </p> '>] |
e | IndexError('list index out of range',) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/template/base.py
in render
class AssignmentNode(TagHelperNode):
def __init__(self, takes_context, args, kwargs, target_var):
super(AssignmentNode, self).__init__(takes_context, args, kwargs)
self.target_var = target_var
def render(self, context):
resolved_args, resolved_kwargs = self.get_resolved_arguments(context)
context[self.target_var] = func(*resolved_args, **resolved_kwargs)...
return ''
function_name = (name or
getattr(func, '_decorated_function', func).__name__)
def compile_func(parser, token):
Variable | Value |
---|---|
resolved_kwargs | {} |
self | <django.template.base.AssignmentNode object at 0x7f81f21e9950> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'category': <Category: PANEL SANDWICH PUERTAS>, u'paginator': <django.core.paginator.Paginator object at 0x7f81f20f3910>, 'category_slug': u'panel-sandwich-puertas', u'object_list': [<Product: POMO 6099 INOX>], u'page_obj': <Page 1 of 1>, 'products': [<Product: POMO 6099 INOX>], 'basket': <SimpleLazyObject: <function load_full_basket at 0x7f81f1e55de8>>, 'pk': u'44', u'is_paginated': False, u'view': <oscar.apps.catalogue.search_handlers.SimpleProductSearchHandler object at 0x7f81f20f3b90>}] |
func | <function purchase_info_for_product at 0x7f81f20e4d70> |
resolved_args | [<WSGIRequest: GET '/catalogue/category/panel-sandwich-puertas_44/'>, <Product: POMO 6099 INOX>] |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/oscar/templatetags/purchase_info_tags.py
in purchase_info_for_product
@register.assignment_tag
def purchase_info_for_product(request, product):
if product.is_parent:
return request.strategy.fetch_for_parent(product)
return request.strategy.fetch_for_product(product)...
@register.assignment_tag
def purchase_info_for_line(request, line):
return request.strategy.fetch_for_line(line)
Variable | Value |
---|---|
product | <Product: POMO 6099 INOX> |
request | "<WSGIRequest\npath:/catalogue/category/panel-sandwich-puertas_44/,\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {}>,\nCOOKIES:{},\nMETA:{'CONTEXT_DOCUMENT_ROOT': '/var/www/vhosts/hermetico.com/httpdocs',\n 'CONTEXT_PREFIX': '',\n u'CSRF_COOKIE': u'KUrk48cX2878vkWFMt396KBy9WbODRmc',\n 'DOCUMENT_ROOT': '/var/www/vhosts/hermetico.com/httpdocs',\n 'GATEWAY_INTERFACE': 'CGI/1.1',\n 'HTTP_ACCEPT': '*/*',\n 'HTTP_CONNECTION': 'close',\n 'HTTP_HOST': 'www.hermetico.com',\n 'HTTP_REFERER': 'http://www.hermetico.com/catalogue/category/panel-sandwich-puertas_44/',\n 'HTTP_USER_AGENT': 'claudebot',\n 'HTTP_X_REAL_IP': '44.223.37.137',\n 'PATH_INFO': u'/catalogue/category/panel-sandwich-puertas_44/',\n 'PATH_TRANSLATED': '/var/www/vhosts/hermetico.com/httpdocs/welba/wsgi.py/catalogue/category/panel-sandwich-puertas_44/',\n 'QUERY_STRING': '',\n 'REMOTE_ADDR': '44.223.37.137',\n 'REMOTE_PORT': '46964',\n 'REQUEST_METHOD': 'GET',\n 'REQUEST_SCHEME': 'https',\n 'REQUEST_URI': '/catalogue/category/panel-sandwich-puertas_44/',\n 'SCRIPT_FILENAME': '/var/www/vhosts/hermetico.com/httpdocs/welba/wsgi.py',\n 'SCRIPT_NAME': u'',\n 'SERVER_ADDR': '82.223.50.52',\n 'SERVER_ADMIN': '[no address given]',\n 'SERVER_NAME': 'www.hermetico.com',\n 'SERVER_PORT': '443',\n 'SERVER_PROTOCOL': 'HTTP/1.0',\n 'SERVER_SIGNATURE': '<address>Apache Server at www.hermetico.com Port 443</address>\\n',\n 'SERVER_SOFTWARE': 'Apache',\n 'UNIQUE_ID': 'ZgZw11LfMjQAAAmwulYAAAAD',\n 'apache.version': (2, 4, 18),\n 'mod_wsgi.application_group': 'hermetico.com|',\n 'mod_wsgi.callable_object': 'application',\n 'mod_wsgi.daemon_connects': '1',\n 'mod_wsgi.daemon_restarts': '0',\n 'mod_wsgi.daemon_start': '1711698135569777',\n 'mod_wsgi.enable_sendfile': '0',\n 'mod_wsgi.handler_script': '',\n 'mod_wsgi.input_chunked': '0',\n 'mod_wsgi.listener_host': '',\n 'mod_wsgi.listener_port': '7081',\n 'mod_wsgi.process_group': 'hermetico.com',\n 'mod_wsgi.queue_start': '1711698135569646',\n 'mod_wsgi.request_handler': 'wsgi-script',\n 'mod_wsgi.request_start': '1711698135563057',\n 'mod_wsgi.script_reloading': '1',\n 'mod_wsgi.script_start': '1711698135569823',\n 'mod_wsgi.version': (4, 3, 0),\n 'wsgi.errors': <mod_wsgi.Log object at 0x7f81f28ccb70>,\n 'wsgi.file_wrapper': <type 'mod_wsgi.FileWrapper'>,\n 'wsgi.input': <mod_wsgi.Input object at 0x7f81f2232570>,\n 'wsgi.multiprocess': False,\n 'wsgi.multithread': True,\n 'wsgi.run_once': False,\n 'wsgi.url_scheme': 'https',\n 'wsgi.version': (1, 0)}>" |
/var/www/vhosts/hermetico.com/httpdocs/partner/strategy.py
in fetch_for_product
def fetch_for_product(self, product, stockrecord=None):
"""
Return the appropriate ``PurchaseInfo`` instance.
This method is not intended to be overridden.
"""
if stockrecord is None:
stockrecord = self.select_stockrecord(product)...
return PurchaseInfo(
price=self.pricing_policy(product, stockrecord),
availability=self.availability_policy(product, stockrecord),
stockrecord=stockrecord)
def fetch_for_parent(self, product):
Variable | Value |
---|---|
stockrecord | None |
product | <Product: POMO 6099 INOX> |
self | <partner.strategy.SpainStrategy object at 0x7f81f20f3850> |
/var/www/vhosts/hermetico.com/httpdocs/partner/strategy.py
in select_stockrecord
"""
def select_stockrecord(self, product):
try:
datPartner = Partner.objects.filter(users = self.request.user)
return product.stockrecords.get(partner = datPartner)
except Exception, e:
return product.stockrecords.all()[0]...
class StockRequired(object):
"""
Availability policy mixin for use with the ``Structured`` base strategy.
This mixin ensures that a product can only be bought if it has stock
available (if stock is being tracked).
Variable | Value |
---|---|
product | <Product: POMO 6099 INOX> |
e | TypeError("int() argument must be a string or a number, not 'SimpleLazyObject'",) |
self | <partner.strategy.SpainStrategy object at 0x7f81f20f3850> |
/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/django/db/models/query.py
in __getitem__
raise TypeError
assert ((not isinstance(k, slice) and (k >= 0)) or
(isinstance(k, slice) and (k.start is None or k.start >= 0) and
(k.stop is None or k.stop >= 0))), \
"Negative indexing is not supported."
if self._result_cache is not None:
return self._result_cache[k]...
if isinstance(k, slice):
qs = self._clone()
if k.start is not None:
start = int(k.start)
else:
Variable | Value |
---|---|
k | 0 |
self | [] |
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
mod_wsgi.listener_port | '7081' |
HTTP_REFERER | 'http://www.hermetico.com/catalogue/category/panel-sandwich-puertas_44/' |
CONTEXT_DOCUMENT_ROOT | '/var/www/vhosts/hermetico.com/httpdocs' |
SERVER_SOFTWARE | 'Apache' |
SCRIPT_NAME | u'' |
mod_wsgi.enable_sendfile | '0' |
mod_wsgi.handler_script | '' |
SERVER_SIGNATURE | '<address>Apache Server at www.hermetico.com Port 443</address>\n' |
REQUEST_METHOD | 'GET' |
PATH_INFO | u'/catalogue/category/panel-sandwich-puertas_44/' |
SERVER_PROTOCOL | 'HTTP/1.0' |
QUERY_STRING | '' |
HTTP_X_REAL_IP | '44.223.37.137' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_CONNECTION | 'close' |
SERVER_NAME | 'www.hermetico.com' |
REMOTE_ADDR | '44.223.37.137' |
mod_wsgi.queue_start | '1711698135569646' |
mod_wsgi.request_handler | 'wsgi-script' |
apache.version | (2, 4, 18) |
wsgi.url_scheme | 'https' |
PATH_TRANSLATED | '/var/www/vhosts/hermetico.com/httpdocs/welba/wsgi.py/catalogue/category/panel-sandwich-puertas_44/' |
SERVER_PORT | '443' |
wsgi.multiprocess | False |
mod_wsgi.input_chunked | '0' |
SERVER_ADDR | '82.223.50.52' |
DOCUMENT_ROOT | '/var/www/vhosts/hermetico.com/httpdocs' |
mod_wsgi.process_group | 'hermetico.com' |
mod_wsgi.daemon_connects | '1' |
SCRIPT_FILENAME | '/var/www/vhosts/hermetico.com/httpdocs/welba/wsgi.py' |
SERVER_ADMIN | '[no address given]' |
wsgi.input | <mod_wsgi.Input object at 0x7f81f2232570> |
HTTP_HOST | 'www.hermetico.com' |
CONTEXT_PREFIX | '' |
wsgi.multithread | True |
mod_wsgi.callable_object | 'application' |
mod_wsgi.daemon_restarts | '0' |
REQUEST_URI | '/catalogue/category/panel-sandwich-puertas_44/' |
HTTP_ACCEPT | '*/*' |
wsgi.file_wrapper | '' |
wsgi.version | (1, 0) |
GATEWAY_INTERFACE | 'CGI/1.1' |
wsgi.run_once | False |
wsgi.errors | <mod_wsgi.Log object at 0x7f81f28ccb70> |
REMOTE_PORT | '46964' |
mod_wsgi.listener_host | '' |
REQUEST_SCHEME | 'https' |
mod_wsgi.version | (4, 3, 0) |
mod_wsgi.script_start | '1711698135569823' |
mod_wsgi.application_group | 'hermetico.com|' |
mod_wsgi.script_reloading | '1' |
mod_wsgi.request_start | '1711698135563057' |
CSRF_COOKIE | u'KUrk48cX2878vkWFMt396KBy9WbODRmc' |
UNIQUE_ID | 'ZgZw11LfMjQAAAmwulYAAAAD' |
mod_wsgi.daemon_start | '1711698135569777' |
welba.settings
Setting | Value |
---|---|
OSCAR_ADDRESSES_PER_PAGE | 20 |
COMPRESS_URL | '/static/' |
OSCAR_RECENTLY_VIEWED_PRODUCTS | 20 |
SECURE_REDIRECT_EXEMPT | [] |
COMPRESS_OUTPUT_DIR | u'CACHE' |
SECURE_SSL_REDIRECT | False |
COMPRESS_TEMPLATE_FILTER_CONTEXT | {u'STATIC_URL': '/static/'} |
SECURE_BROWSER_XSS_FILTER | False |
COMPRESS_DATA_URI_MAX_SIZE | 1024 |
OSCAR_DELETE_IMAGE_FILES | True |
CSRF_COOKIE_SECURE | False |
LANGUAGE_CODE | 'es-ES' |
OSCAR_RECENTLY_VIEWED_COOKIE_NAME | 'oscar_history' |
MANAGERS | () |
COMPRESS_CSS_HASHING_METHOD | u'mtime' |
BASE_DIR | '/var/www/vhosts/hermetico.com/httpdocs' |
SILENCED_SYSTEM_CHECKS | [] |
DEFAULT_CHARSET | 'utf-8' |
IGNORABLE_404_URLS | () |
OSCAR_DASHBOARD_NAVIGATION | [{'icon': 'icon-th-list', 'label': <django.utils.functional.__proxy__ object at 0x7f81f8100e90>, 'url_name': 'dashboard:index'}, {'children': [{'label': <django.utils.functional.__proxy__ object at 0x7f81f8100f10>, 'url_name': 'dashboard:catalogue-product-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f8100f50>, 'url_name': 'dashboard:catalogue-class-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f8100f90>, 'url_name': 'dashboard:catalogue-category-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f8100fd0>, 'url_name': 'dashboard:range-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f8109050>, 'url_name': 'dashboard:stock-alert-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f8109090>, 'url_name': 'dashboard:catalogue-tax-list'}], 'icon': 'icon-sitemap', 'label': <django.utils.functional.__proxy__ object at 0x7f81f8100ed0>}, {'children': [{'label': <django.utils.functional.__proxy__ object at 0x7f81f8109110>, 'url_name': 'dashboard:order-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f8109150>, 'url_name': 'dashboard:order-stats'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f8109190>, 'url_name': 'dashboard:partner-list'}], 'icon': 'icon-shopping-cart', 'label': <django.utils.functional.__proxy__ object at 0x7f81f81090d0>}, {'children': [{'label': <django.utils.functional.__proxy__ object at 0x7f81f8109250>, 'url_name': 'dashboard:users-index'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f81092d0>, 'url_name': 'dashboard:user-alert-list'}], 'icon': 'icon-group', 'label': <django.utils.functional.__proxy__ object at 0x7f81f81091d0>}, {'children': [{'label': <django.utils.functional.__proxy__ object at 0x7f81f81093d0>, 'url_name': 'dashboard:offer-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f8109450>, 'url_name': 'dashboard:voucher-list'}], 'icon': 'icon-bullhorn', 'label': <django.utils.functional.__proxy__ object at 0x7f81f8109350>}, {'children': [{'label': <django.utils.functional.__proxy__ object at 0x7f81f8109550>, 'url_name': 'dashboard:promotion-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f81095d0>, 'url_name': 'dashboard:promotion-list-by-page'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f8109650>, 'url_name': 'dashboard:page-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f81096d0>, 'url_name': 'dashboard:comms-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f8109750>, 'url_name': 'dashboard:reviews-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f81097d0>, 'url_name': 'dashboard:slideshow-list'}], 'icon': 'icon-folder-close', 'label': <django.utils.functional.__proxy__ object at 0x7f81f81094d0>}, {'icon': 'icon-bar-chart', 'label': <django.utils.functional.__proxy__ object at 0x7f81f8109850>, 'url_name': 'dashboard:reports-index'}] |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
STATIC_ROOT | '/var/www/vhosts/hermetico.com/httpdocs/static' |
OSCAR_IMAGE_FOLDER | 'images/products/%Y/%m/' |
COMPRESS_CLOSURE_COMPILER_ARGUMENTS | u'' |
OSCAR_PROMOTION_FOLDER | 'images/promotions/' |
USE_THOUSAND_SEPARATOR | False |
RECAPTCHA_PUBLIC_KEY | u'********************' |
COMPRESS_OFFLINE_MANIFEST | u'manifest.json' |
OSCAR_DEFAULT_CURRENCY | 'EUR' |
OSCAR_SHOP_TAGLINE | '' |
ALLOWED_HOSTS | ['*'] |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
OSCAR_RECENTLY_VIEWED_COOKIE_LIFETIME | 604800 |
OSCAR_ACCOUNTS_REDIRECT_URL | 'customer:profile-view' |
COMPRESS_YUI_JS_ARGUMENTS | u'' |
SERVER_EMAIL | 'root@localhost' |
SECURE_HSTS_SECONDS | 0 |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder') |
SESSION_CACHE_ALIAS | 'default' |
COMPRESS_CSSTIDY_ARGUMENTS | u'--template=highest' |
SESSION_COOKIE_DOMAIN | None |
OSCAR_SLUG_FUNCTION | 'oscar.core.utils.default_slugifier' |
COMPRESS_YUGLIFY_JS_ARGUMENTS | u'--terminal' |
OSCAR_SEARCH_FACETS | {'fields': {'product_class': {'field': 'product_class', 'name': <django.utils.functional.__proxy__ object at 0x7f81f81008d0>}, 'rating': {'field': 'rating', 'name': <django.utils.functional.__proxy__ object at 0x7f81f8100950>}}, 'queries': {'price_range': {'field': 'price', 'name': <django.utils.functional.__proxy__ object at 0x7f81f8100c10>, 'queries': [(<django.utils.functional.__proxy__ object at 0x7f81f8100c50>, u'[0 TO 20]'), (<django.utils.functional.__proxy__ object at 0x7f81f8100c90>, u'[20 TO 40]'), (<django.utils.functional.__proxy__ object at 0x7f81f8100cd0>, u'[40 TO 60]'), (<django.utils.functional.__proxy__ object at 0x7f81f8100d10>, u'[60 TO *]')]}}} |
TIME_INPUT_FORMATS | ('%H:%M:%S', '%H:%M:%S.%f', '%H:%M') |
OSCAR_UPLOAD_ROOT | '/tmp' |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': 'localhost', 'NAME': 'welba', 'OPTIONS': {}, 'PASSWORD': u'********************', 'PORT': '3306', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': 'UTC', 'USER': 'welba'}} |
EMAIL_SSL_KEYFILE | u'********************' |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
STATIC_URL | '/static/' |
COMPRESS_YUI_BINARY | u'java -jar yuicompressor.jar' |
FILE_UPLOAD_PERMISSIONS | None |
OSCAR_MODERATE_REVIEWS | False |
FILE_UPLOAD_HANDLERS | ('django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler') |
OSCAR_ALLOW_ANON_CHECKOUT | False |
DEFAULT_CONTENT_TYPE | 'text/html' |
COMPRESS_CSS_COMPRESSOR | u'compressor.css.CssCompressor' |
OSCAR_NOTIFICATIONS_PER_PAGE | 20 |
OSCAR_DASHBOARD_ITEMS_PER_PAGE | 20 |
APPEND_SLASH | True |
FIRST_DAY_OF_WEEK | 0 |
DATABASE_ROUTERS | [] |
DEFAULT_TABLESPACE | '' |
OSCAR_RECENTLY_VIEWED_COOKIE_SECURE | False |
OSCAR_SHOP_NAME | u'Welba Herm\xe9tico' |
YEAR_MONTH_FORMAT | 'F Y' |
COMPRESS_OFFLINE_TIMEOUT | 31536000 |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
COMPRESS_CLEAN_CSS_ARGUMENTS | u'' |
SESSION_COOKIE_PATH | '/' |
COMPRESS_PARSER | u'compressor.parser.AutoSelectParser' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
ROOT_URLCONF | 'welba.urls' |
OSCAR_SEND_REGISTRATION_EMAIL | True |
COMPRESS_CACHE_BACKEND | u'default' |
SECURE_CONTENT_TYPE_NOSNIFF | False |
OSCAR_HIDDEN_FEATURES | [] |
MIDDLEWARE_CLASSES | ('django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', 'oscar.apps.basket.middleware.BasketMiddleware', 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware') |
USE_I18N | True |
THOUSAND_SEPARATOR | ',' |
SECRET_KEY | u'********************' |
LANGUAGE_COOKIE_NAME | 'django_language' |
DEFAULT_INDEX_TABLESPACE | '' |
OSCAR_BASKET_COOKIE_SECURE | False |
OSCAR_ALLOW_ANON_REVIEWS | True |
LOGGING_CONFIG | 'logging.config.dictConfig' |
OSCAR_ORDERS_PER_PAGE | 20 |
TEMPLATE_LOADERS | ('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader') |
WSGI_APPLICATION | 'welba.wsgi.application' |
SETTINGS_MODULE | 'welba.settings' |
TEMPLATE_DEBUG | False |
OSCAR_SLUG_BLACKLIST | [] |
CSRF_COOKIE_NAME | 'csrftoken' |
HAYSTACK_CONNECTIONS | {'default': {'ENGINE': 'haystack.backends.simple_backend.SimpleEngine'}} |
OSCAR_REVIEWS_PER_PAGE | 20 |
COMPRESS_CLEAN_CSS_BINARY | u'cleancss' |
FORCE_SCRIPT_NAME | None |
OSCAR_MAIN_TEMPLATE_DIR | '/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/oscar/templates/oscar' |
EMAIL_TIMEOUT | None |
SECURE_SSL_HOST | None |
COMPRESS_CSSTIDY_BINARY | u'csstidy' |
USE_X_FORWARDED_HOST | False |
SESSION_COOKIE_SECURE | False |
COMPRESS_DEBUG_TOGGLE | None |
COMPRESS_VERBOSE | False |
CSRF_COOKIE_DOMAIN | None |
OSCAR_BASKET_COOKIE_OPEN | 'oscar_open_basket' |
SINGLE_PRODUCT | 'SingleProduct' |
FILE_CHARSET | 'utf-8' |
DEBUG | True |
RECAPTCHA_PRIVATE_KEY | u'********************' |
LANGUAGE_COOKIE_DOMAIN | None |
COMPRESS_JS_FILTERS | [u'compressor.filters.jsmin.JSMinFilter'] |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
INSTALLED_APPS | ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.flatpages', 'compressor', 'widget_tweaks', 'captcha', 'oscar', 'oscar.apps.analytics', 'oscar.apps.checkout', 'oscar.apps.address', 'oscar.apps.shipping', 'catalogue', 'oscar.apps.catalogue.reviews', 'partner', 'oscar.apps.basket', 'oscar.apps.payment', 'oscar.apps.offer', 'oscar.apps.order', 'oscar.apps.customer', 'oscar.apps.promotions', 'oscar.apps.search', 'oscar.apps.voucher', 'oscar.apps.wishlists', 'oscar.apps.dashboard', 'oscar.apps.dashboard.reports', 'oscar.apps.dashboard.users', 'oscar.apps.dashboard.orders', 'oscar.apps.dashboard.promotions', 'dashboard.catalogue', 'oscar.apps.dashboard.offers', 'oscar.apps.dashboard.partners', 'dashboard.pages', 'oscar.apps.dashboard.ranges', 'oscar.apps.dashboard.reviews', 'oscar.apps.dashboard.vouchers', 'oscar.apps.dashboard.communications', 'oscar.apps.dashboard.shipping', 'haystack', 'treebeard', 'sorl.thumbnail', 'django_tables2'] |
LANGUAGES_BIDI | ('he', 'ar', 'fa', 'ur') |
USE_L10N | True |
COMPRESS_YUI_CSS_ARGUMENTS | u'' |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
STATICFILES_DIRS | ('/var/www/vhosts/hermetico.com/httpdocs/content',) |
OSCAR_PROMOTION_MERCHANDISING_BLOCK_TYPES | (('Countdown', 'Vertical list'), ('List', 'Horizontal list'), ('TabbedBlock', 'Tabbed block'), ('SingleProduct', 'Single product')) |
PREPEND_WWW | False |
SECURE_PROXY_SSL_HEADER | None |
COMPRESS_CACHEABLE_PRECOMPILERS | () |
LANGUAGE_COOKIE_AGE | None |
SESSION_COOKIE_HTTPONLY | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
INTERNAL_IPS | () |
OSCAR_FROM_EMAIL | 'oscar@example.com' |
MONTH_DAY_FORMAT | 'F j' |
LOGIN_URL | '/accounts/login/' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
TIME_FORMAT | 'P' |
COMPRESS_STORAGE | u'compressor.storage.CompressorFileStorage' |
AUTH_USER_MODEL | 'auth.User' |
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') |
OSCAR_EMAILS_PER_PAGE | 20 |
COMPRESS_CSS_FILTERS | [u'compressor.filters.css_default.CssAbsoluteFilter'] |
AUTHENTICATION_BACKENDS | ('oscar.apps.customer.auth_backends.EmailBackend', 'django.contrib.auth.backends.ModelBackend') |
EMAIL_HOST_PASSWORD | u'********************' |
COMPRESS_REBUILD_TIMEOUT | 2592000 |
PASSWORD_RESET_TIMEOUT_DAYS | u'********************' |
SESSION_FILE_PATH | None |
CACHE_MIDDLEWARE_ALIAS | 'default' |
SESSION_SAVE_EVERY_REQUEST | False |
NUMBER_GROUPING | 0 |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
COMPRESS_YUGLIFY_BINARY | u'yuglify' |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_COOKIE_PATH | '/' |
COMPRESS_CACHE_KEY_FUNCTION | u'********************' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
DECIMAL_SEPARATOR | '.' |
COMPRESS_PRECOMPILERS | () |
COMPRESS_MTIME_DELAY | 10 |
SITE_ID | 1 |
OSCAR_PROMOTION_POSITIONS | (('page', 'Page'), ('right', 'Right-hand sidebar'), ('left', 'Left-hand sidebar')) |
LOCALE_PATHS | () |
TEMPLATE_STRING_IF_INVALID | '' |
COUNTDOWN | 'Countdown' |
LOGOUT_URL | '/accounts/logout/' |
EMAIL_USE_TLS | True |
TEMPLATE_DIRS | () |
OSCAR_DASHBOARD_DEFAULT_ACCESS_FUNCTION | 'oscar.apps.dashboard.nav.default_access_fn' |
FIXTURE_DIRS | () |
EMAIL_HOST | 'smtp.1and1.es' |
DATE_FORMAT | 'N j, Y' |
OSCAR_EAGER_ALERTS | True |
MEDIA_ROOT | '/var/www/vhosts/hermetico.com/httpdocs/media' |
LIST | 'List' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
ADMINS | () |
FORMAT_MODULE_PATH | None |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
COMPRESS_ROOT | '/var/www/vhosts/hermetico.com/httpdocs/static' |
OSCAR_PRODUCTS_PER_PAGE | 20 |
OSCAR_HOMEPAGE | <django.utils.functional.__proxy__ object at 0x7f81f80b3c90> |
MEDIA_URL | '/media/' |
DATETIME_FORMAT | 'N j, Y, P' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
OSCAR_SLUG_MAP | {} |
COMPRESS_JS_COMPRESSOR | u'compressor.js.JsCompressor' |
DISALLOWED_USER_AGENTS | () |
ALLOWED_INCLUDE_ROOTS | () |
COMPRESS_MINT_DELAY | 30 |
LOGGING | {} |
OSCAR_SETTINGS | {'OSCAR_ACCOUNTS_REDIRECT_URL': 'customer:profile-view', 'OSCAR_ADDRESSES_PER_PAGE': 20, 'OSCAR_ALLOW_ANON_CHECKOUT': False, 'OSCAR_ALLOW_ANON_REVIEWS': True, 'OSCAR_BASKET_COOKIE_LIFETIME': 604800, 'OSCAR_BASKET_COOKIE_OPEN': 'oscar_open_basket', 'OSCAR_BASKET_COOKIE_SECURE': False, 'OSCAR_COOKIES_DELETE_ON_LOGOUT': ['oscar_recently_viewed_products'], 'OSCAR_DASHBOARD_DEFAULT_ACCESS_FUNCTION': 'oscar.apps.dashboard.nav.default_access_fn', 'OSCAR_DASHBOARD_ITEMS_PER_PAGE': 20, 'OSCAR_DASHBOARD_NAVIGATION': [{'icon': 'icon-th-list', 'label': <django.utils.functional.__proxy__ object at 0x7f81f80b3d10>, 'url_name': 'dashboard:index'}, {'children': [{'label': <django.utils.functional.__proxy__ object at 0x7f81f80b3d90>, 'url_name': 'dashboard:catalogue-product-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f80b3e10>, 'url_name': 'dashboard:catalogue-class-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f80b3e90>, 'url_name': 'dashboard:catalogue-category-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f80b3f10>, 'url_name': 'dashboard:range-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f80b3f90>, 'url_name': 'dashboard:stock-alert-list'}], 'icon': 'icon-sitemap', 'label': <django.utils.functional.__proxy__ object at 0x7f81f80b3d50>}, {'children': [{'label': <django.utils.functional.__proxy__ object at 0x7f81f81000d0>, 'url_name': 'dashboard:order-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f8100150>, 'url_name': 'dashboard:order-stats'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f81001d0>, 'url_name': 'dashboard:partner-list'}], 'icon': 'icon-shopping-cart', 'label': <django.utils.functional.__proxy__ object at 0x7f81f8100050>}, {'children': [{'label': <django.utils.functional.__proxy__ object at 0x7f81f81002d0>, 'url_name': 'dashboard:users-index'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f8100350>, 'url_name': 'dashboard:user-alert-list'}], 'icon': 'icon-group', 'label': <django.utils.functional.__proxy__ object at 0x7f81f8100250>}, {'children': [{'label': <django.utils.functional.__proxy__ object at 0x7f81f8100450>, 'url_name': 'dashboard:offer-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f81004d0>, 'url_name': 'dashboard:voucher-list'}], 'icon': 'icon-bullhorn', 'label': <django.utils.functional.__proxy__ object at 0x7f81f81003d0>}, {'children': [{'label': <django.utils.functional.__proxy__ object at 0x7f81f81005d0>, 'url_name': 'dashboard:promotion-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f8100650>, 'url_name': 'dashboard:promotion-list-by-page'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f81006d0>, 'url_name': 'dashboard:page-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f8100750>, 'url_name': 'dashboard:comms-list'}, {'label': <django.utils.functional.__proxy__ object at 0x7f81f81007d0>, 'url_name': 'dashboard:reviews-list'}], 'icon': 'icon-folder-close', 'label': <django.utils.functional.__proxy__ object at 0x7f81f8100550>}, {'icon': 'icon-bar-chart', 'label': <django.utils.functional.__proxy__ object at 0x7f81f8100850>, 'url_name': 'dashboard:reports-index'}], 'OSCAR_DEFAULT_CURRENCY': 'GBP', 'OSCAR_DELETE_IMAGE_FILES': True, 'OSCAR_EAGER_ALERTS': True, 'OSCAR_EMAILS_PER_PAGE': 20, 'OSCAR_FROM_EMAIL': 'oscar@example.com', 'OSCAR_HIDDEN_FEATURES': [], 'OSCAR_HOMEPAGE': <django.utils.functional.__proxy__ object at 0x7f81f80b3c90>, 'OSCAR_IMAGE_FOLDER': 'images/products/%Y/%m/', 'OSCAR_MAX_BASKET_QUANTITY_THRESHOLD': 10000, 'OSCAR_MISSING_IMAGE_URL': 'image_not_found.jpg', 'OSCAR_MODERATE_REVIEWS': False, 'OSCAR_NOTIFICATIONS_PER_PAGE': 20, 'OSCAR_OFFERS_PER_PAGE': 20, 'OSCAR_ORDERS_PER_PAGE': 20, 'OSCAR_PRODUCTS_PER_PAGE': 20, 'OSCAR_PRODUCT_SEARCH_HANDLER': None, 'OSCAR_PROMOTION_FOLDER': 'images/promotions/', 'OSCAR_PROMOTION_MERCHANDISING_BLOCK_TYPES': (('Countdown', 'Vertical list'), ('List', 'Horizontal list'), ('TabbedBlock', 'Tabbed block'), ('SingleProduct', 'Single product')), 'OSCAR_PROMOTION_POSITIONS': (('page', 'Page'), ('right', 'Right-hand sidebar'), ('left', 'Left-hand sidebar')), 'OSCAR_RECENTLY_VIEWED_COOKIE_LIFETIME': 604800, 'OSCAR_RECENTLY_VIEWED_COOKIE_NAME': 'oscar_history', 'OSCAR_RECENTLY_VIEWED_COOKIE_SECURE': False, 'OSCAR_RECENTLY_VIEWED_PRODUCTS': 20, 'OSCAR_REQUIRED_ADDRESS_FIELDS': ('first_name', 'last_name', 'line1', 'line4', 'postcode', 'country'), 'OSCAR_REVIEWS_PER_PAGE': 20, 'OSCAR_SEARCH_FACETS': {'fields': {'product_class': {'field': 'product_class', 'name': <django.utils.functional.__proxy__ object at 0x7f81f81008d0>}, 'rating': {'field': 'rating', 'name': <django.utils.functional.__proxy__ object at 0x7f81f8100950>}}, 'queries': {'price_range': {'field': 'price', 'name': <django.utils.functional.__proxy__ object at 0x7f81f8100c10>, 'queries': [(<django.utils.functional.__proxy__ object at 0x7f81f8100c50>, u'[0 TO 20]'), (<django.utils.functional.__proxy__ object at 0x7f81f8100c90>, u'[20 TO 40]'), (<django.utils.functional.__proxy__ object at 0x7f81f8100cd0>, u'[40 TO 60]'), (<django.utils.functional.__proxy__ object at 0x7f81f8100d10>, u'[60 TO *]')]}}}, 'OSCAR_SEND_REGISTRATION_EMAIL': True, 'OSCAR_SHOP_NAME': 'Oscar', 'OSCAR_SHOP_TAGLINE': '', 'OSCAR_SLUG_BLACKLIST': [], 'OSCAR_SLUG_FUNCTION': 'oscar.core.utils.default_slugifier', 'OSCAR_SLUG_MAP': {}, 'OSCAR_STOCK_ALERTS_PER_PAGE': 20, 'OSCAR_UPLOAD_ROOT': '/tmp'} |
SHORT_DATE_FORMAT | 'm/d/Y' |
OSCAR_MAX_BASKET_QUANTITY_THRESHOLD | 10000 |
OSCAR_STOCK_ALERTS_PER_PAGE | 20 |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
COMPRESS_ENABLED | False |
TABBED_BLOCK | 'TabbedBlock' |
CACHE_MIDDLEWARE_KEY_PREFIX | u'********************' |
COMPRESS_OFFLINE | False |
TIME_ZONE | 'Europe/Madrid' |
COMPRESS_OFFLINE_CONTEXT | {u'STATIC_URL': '/static/'} |
COMPRESS_YUGLIFY_CSS_ARGUMENTS | u'--terminal' |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
COMPRESS_JINJA2_GET_ENVIRONMENT | <function JINJA2_GET_ENVIRONMENT at 0x7f81f32e26e0> |
OSCAR_PRODUCT_SEARCH_HANDLER | None |
EMAIL_USE_SSL | False |
TEMPLATE_CONTEXT_PROCESSORS | ('django.contrib.auth.context_processors.auth', 'django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages') |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/www/vhosts/hermetico.com/httpdocs/plantillas', '/var/www/vhosts/hermetico.com/httpdocs/.env/local/lib/python2.7/site-packages/oscar/templates/oscar'], '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', 'oscar.apps.search.context_processors.search_form', 'oscar.apps.promotions.context_processors.promotions', 'oscar.apps.checkout.context_processors.checkout', 'oscar.apps.customer.notifications.context_processors.notifications', 'oscar.core.context_processors.metadata']}}] |
MIGRATION_MODULES | {} |
SESSION_COOKIE_AGE | 1209600 |
OSCAR_OFFERS_PER_PAGE | 20 |
USE_ETAGS | False |
LANGUAGES | (('af', 'Afrikaans'), ('ar', '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'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian 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'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmal'), ('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'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese'), ('zh-tw', 'Traditional Chinese')) |
COMPRESS_CLOSURE_COMPILER_BINARY | u'java -jar compiler.jar' |
FILE_UPLOAD_TEMP_DIR | None |
CSRF_COOKIE_AGE | 31449600 |
SESSION_COOKIE_NAME | 'sessionid' |
EMAIL_PORT | 587 |
USE_TZ | True |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
TEST_NON_SERIALIZED_APPS | [] |
PASSWORD_HASHERS | u'********************' |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
ABSOLUTE_URL_OVERRIDES | {} |
OSCAR_MISSING_IMAGE_URL | '/media/image_not_found.jpg' |
LANGUAGE_COOKIE_PATH | '/' |
OSCAR_COOKIES_DELETE_ON_LOGOUT | ['oscar_recently_viewed_products'] |
CACHE_MIDDLEWARE_SECONDS | 600 |
EMAIL_SSL_CERTFILE | None |
CSRF_COOKIE_HTTPONLY | False |
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') |
OSCAR_REQUIRED_ADDRESS_FIELDS | ('first_name', 'last_name', 'line1', 'line4', 'postcode', 'country') |
OSCAR_BASKET_COOKIE_LIFETIME | 604800 |
EMAIL_HOST_USER | 'web@hermetico.com' |
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.