Reverse for 'add_to_wishlist' not found. 'add_to_wishlist' is not a valid view function or pattern name.
Request Method: | GET |
---|---|
Request URL: | http://urvanity-art.com/es/fair/artistas/hugo-rocci/2022/ |
Django Version: | 3.1.5 |
Exception Type: | NoReverseMatch |
Exception Value: | Reverse for 'add_to_wishlist' not found. 'add_to_wishlist' is not a valid view function or pattern name. |
Exception Location: | /webapps/urvanity/lib/python3.8/site-packages/django/urls/resolvers.py, line 685, in _reverse_with_prefix |
Python Executable: | /webapps/urvanity/bin/python3 |
Python Version: | 3.8.10 |
Python Path: | ['/webapps/urvanity/bin', '/webapps/urvanity/urvanity', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/webapps/urvanity/lib/python3.8/site-packages', '/webapps/urvanity/lib/python3.8/site-packages/odf', '/webapps/urvanity/lib/python3.8/site-packages/odf', '/webapps/urvanity/lib/python3.8/site-packages/odf', '/webapps/urvanity/lib/python3.8/site-packages/odf', '/webapps/urvanity/lib/python3.8/site-packages/odf', '/webapps/urvanity/lib/python3.8/site-packages/odf', '/webapps/urvanity/lib/python3.8/site-packages/odf'] |
Server time: | Thu, 28 Mar 2024 13:26:59 +0000 |
In template /webapps/urvanity/urvanity/templates/base.html
, error at line 131
121 | <meta property="og:locale:alternate" content="en"> |
---|---|
122 | {% endblock head %} |
123 | </head> |
124 | <body class="{% block classes-body %}{% endblock %}"> |
125 | <style> |
126 | .search-icon{ |
127 | margin-right: 20px; |
128 | } |
129 | </style> |
130 | <!-- Google Tag Manager (noscript) --> |
131 | <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-K5JG7C3" |
132 | height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> |
133 | <!-- End Google Tag Manager (noscript) --> |
134 | {% block header %}{% endblock %} |
135 | |
136 | {% block content %}{% endblock %} |
137 | |
138 | {% block footer %}{% endblock %} |
139 | |
140 | |
141 | <!---{% cookielaw_banner %}--> |
/webapps/urvanity/lib/python3.8/site-packages/django/core/handlers/exception.py
, line 47, in inner
response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)
return response
return inner
else:
@wraps(get_response)
def inner(request):
try:
response = get_response(request)…
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | NoReverseMatch("Reverse for 'add_to_wishlist' not found. 'add_to_wishlist' is not a valid view function or pattern name.") |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f14e8b6bee0>> |
request | <WSGIRequest: GET '/es/fair/artistas/hugo-rocci/2022/'> |
/webapps/urvanity/lib/python3.8/site-packages/django/core/handlers/base.py
, line 181, in _get_response
if response is None:
wrapped_callback = self.make_view_atomic(callback)
# If it is an asynchronous view, run it in a subthread.
if asyncio.iscoroutinefunction(wrapped_callback):
wrapped_callback = async_to_sync(wrapped_callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
# Complain if the view returned None (a common error).
Variable | Value |
---|---|
callback | <function ArtistaFairSingleYearView at 0x7f14e07bf5e0> |
callback_args | () |
callback_kwargs | {'slug': 'hugo-rocci', 'year': 2022} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f14e0913f70>> |
request | <WSGIRequest: GET '/es/fair/artistas/hugo-rocci/2022/'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f14e8b6bee0> |
wrapped_callback | <function ArtistaFairSingleYearView at 0x7f14dd642d30> |
/usr/lib/python3.8/contextlib.py
, line 75, in inner
"""
return self
def __call__(self, func):
@wraps(func)
def inner(*args, **kwds):
with self._recreate_cm():
return func(*args, **kwds)…
return inner
class _GeneratorContextManagerBase:
"""Shared functionality for @contextmanager and @asynccontextmanager."""
Variable | Value |
---|---|
args | (<WSGIRequest: GET '/es/fair/artistas/hugo-rocci/2022/'>,) |
func | <function ArtistaFairSingleYearView at 0x7f14e07bf5e0> |
kwds | {'slug': 'hugo-rocci', 'year': 2022} |
self | <django.db.transaction.Atomic object at 0x7f14dd3ac940> |
/webapps/urvanity/urvanity/apps/artistas/views/viewsFair.py
, line 45, in ArtistaFairSingleYearView
page_obj = paginator.get_page(page_number)
wishlisted_list = ()
if request.user.is_authenticated:
wishlisted_list = list(WishlistArtista.objects.filter(user = request.user).values_list('wished_item',flat=True).order_by('pk'))
return render(request, 'fair/artistas/single-artista-year.html', { 'artista': artista, 'page_obj': obras, 'wishlisted_list': wishlisted_list })…
Variable | Value |
---|---|
artista | <Artista: Hugo Rocci> |
fair | <Fair: UVNT ART FAIR 2022> |
obras | <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]> |
page_number | None |
page_obj | <Page 1 of 2> |
paginator | <django.core.paginator.Paginator object at 0x7f14dd8fa580> |
request | <WSGIRequest: GET '/es/fair/artistas/hugo-rocci/2022/'> |
slug | 'hugo-rocci' |
wishlisted_list | () |
year | 2022 |
/webapps/urvanity/lib/python3.8/site-packages/django/shortcuts.py
, line 19, in render
def render(request, template_name, context=None, content_type=None, status=None, using=None):
"""
Return a HttpResponse whose content is filled with the result of calling
django.template.loader.render_to_string() with the passed arguments.
"""
content = loader.render_to_string(template_name, context, request, using=using)…
return HttpResponse(content, content_type, status)
def redirect(to, *args, permanent=False, **kwargs):
"""
Return an HttpResponseRedirect to the appropriate URL for the arguments
Variable | Value |
---|---|
content_type | None |
context | {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()} |
request | <WSGIRequest: GET '/es/fair/artistas/hugo-rocci/2022/'> |
status | None |
template_name | 'fair/artistas/single-artista-year.html' |
using | None |
/webapps/urvanity/lib/python3.8/site-packages/django/template/loader.py
, line 62, in render_to_string
template_name may be a string or a list of strings.
"""
if isinstance(template_name, (list, tuple)):
template = select_template(template_name, using=using)
else:
template = get_template(template_name, using=using)
return template.render(context, request)…
def _engine_list(using=None):
return engines.all() if using is None else [engines[using]]
Variable | Value |
---|---|
context | {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()} |
request | <WSGIRequest: GET '/es/fair/artistas/hugo-rocci/2022/'> |
template | <django.template.backends.django.Template object at 0x7f14dd5bd340> |
template_name | 'fair/artistas/single-artista-year.html' |
using | None |
/webapps/urvanity/lib/python3.8/site-packages/django/template/backends/django.py
, line 61, in render
@property
def origin(self):
return self.template.origin
def render(self, context=None, request=None):
context = make_context(context, request, autoescape=self.backend.engine.autoescape)
try:
return self.template.render(context)…
except TemplateDoesNotExist as exc:
reraise(exc, self.backend)
def copy_exception(exc, backend=None):
"""
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
request | <WSGIRequest: GET '/es/fair/artistas/hugo-rocci/2022/'> |
self | <django.template.backends.django.Template object at 0x7f14dd5bd340> |
/webapps/urvanity/lib/python3.8/site-packages/django/template/base.py
, line 170, in render
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)…
else:
return self._render(context)
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
self | <django.template.base.Template object at 0x7f14dd8a9e50> |
/webapps/urvanity/lib/python3.8/site-packages/django/template/base.py
, line 162, in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
self | <django.template.base.Template object at 0x7f14dd8a9e50> |
/webapps/urvanity/lib/python3.8/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
node | <ExtendsNode: extends "base.html"> |
self | [<ExtendsNode: extends "base.html">] |
/webapps/urvanity/lib/python3.8/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
self | <ExtendsNode: extends "base.html"> |
/webapps/urvanity/lib/python3.8/site-packages/django/template/loader_tags.py
, line 150, in render
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)…
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, extra_context=None, isolated_context=False, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x7f14dd3baf70> |
blocks | {'bottom_js': <Block Node: bottom_js. Contents: [<TextNode: '\n <!-- if you want to '>]>, 'classes-body': <Block Node: classes-body. Contents: []>, 'content': <Block Node: content. Contents: []>, 'css': <Block Node: css. Contents: [<TextNode: '\n <!-- if you want'>]>, 'footer': <Block Node: footer. Contents: []>, 'head': <Block Node: head. Contents: [<TextNode: '\n\t<meta name="description'>, <Block Node: title_meta. Contents: []>, <TextNode: '">\n\t<meta name="robots" c'>]>, 'header': <Block Node: header. Contents: []>, 'meta': <Block Node: meta. Contents: [<TextNode: '\n\t'>]>, 'title_meta': <Block Node: title_meta. Contents: []>, 'titulo': <Block Node: titulo. Contents: []>} |
compiled_parent | <django.template.base.Template object at 0x7f14dd97af40> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
node | <django.template.defaulttags.LoadNode object at 0x7f14dd6ebaf0> |
self | <ExtendsNode: extends "base.html"> |
/webapps/urvanity/lib/python3.8/site-packages/django/template/base.py
, line 162, in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
self | <django.template.base.Template object at 0x7f14dd97af40> |
/webapps/urvanity/lib/python3.8/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n\n' |
bits | ['', '\n', '', '\n', '', '\n' '<!DOCTYPE html>\n' '<html lang="es">\n' '<head>\n' '\t<meta charset="UTF-8">\n' ' \t<meta name="viewport" content="width=device-width, initial-scale=1.0, ' 'user-scalable=no">\n' '\t<title>URVANITY ART ', '\n| FAIR | Hugo Rocci \n', '</title>\n' '\n' '\t<link ' 'href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900&display=swap" ' 'rel="stylesheet">\n' '\t<link rel="stylesheet" href="', '/assets/css/frontend.css', '">\n' '\t<link rel="stylesheet" ' 'href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">\n' '\t<link rel="stylesheet" ' 'href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css">\n' '\t<link rel="stylesheet" href="', '/assets/slick/slick-theme.css', '">\n\t<link rel="stylesheet" href="', '/assets/css/fast-style.css', '">\n\t', '\n\t', '\n ', '\n <!-- if you want to have custom css -->\n ', '\n' '\t<script ' 'src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>\n' '\t<script ' 'src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>\n' '\t<link rel="icon" href="https://', 'urvanity-art.com', '/favicon.ico" type="image/x-icon"/>\n' '\t<link rel="shortcut icon" href="/media/favicon.ico" type="image/x-icon"/>\n' '\t<meta property="og:image" content="/media/favicon.ico">\n' '\t<!-- Global site tag (gtag.js) - Google Analytics -->\n' '\t<script async ' 'src="https://www.googletagmanager.com/gtag/js?id=G-10BCF3G6X9"></script>\n' '\t<script>\n' '\t window.dataLayer = window.dataLayer || [];\n' '\t function gtag(){dataLayer.push(arguments);}\n' "\t gtag('js', new Date());\n" '\n' "\t gtag('config', 'G-10BCF3G6X9');\n" '\t</script>\n' '\n' '\t<!-- Google Tag Manager -->\n' "\t<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\n" "\tnew Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\n" "\tj=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n" '\t' "'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n" "\t})(window,document,'script','dataLayer','GTM-K5JG7C3');</script>\n" '\t<!-- End Google Tag Manager -->\n' '\n' '\t<!-- Facebook Pixel Code -->\n' '\t<script>\n' '\t!function(f,b,e,v,n,t,s)\n' '\t{if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n' '\tn.callMethod.apply(n,arguments):n.queue.push(arguments)};\n' "\tif(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\n" '\tn.queue=[];t=b.createElement(e);t.async=!0;\n' '\tt.src=v;s=b.getElementsByTagName(e)[0];\n' "\ts.parentNode.insertBefore(t,s)}(window, document,'script',\n" "\t'https://connect.facebook.net/en_US/fbevents.js');\n" "\tfbq('init', '2547479288889228');\n" "\tfbq('track', 'PageView');\n" '\t</script>\n' '\t<noscript><img height="1" width="1" style="display:none"\n' '\t' 'src="https://www.facebook.com/tr?id=2547479288889228&ev=PageView&noscript=1";\n' '\t/></noscript>\n' '\t<!-- End Facebook Pixel Code -->\n' '\t\n' '\t<script>\n' '\t\tvar Cookielaw = {\n' '\n' '\t\t\tdeleteCookie: function(){\n' "\t\t\t\tdocument.getElementById('CookielawBanner').style.display = 'none';\n" '\t\t\t\t\n' '\t\t\t},\n' '\n' '\t\t createCookie: function (name, value, days) {\n' '\t\t var date = new Date(),\n' "\t\t expires = '';\n" '\t\t if (days) {\n' '\t\t date.setTime(date.getTime() + (days * 24 * 60 * 60 * ' '1000));\n' '\t\t expires = "; expires=" + date.toGMTString();\n' '\t\t } else {\n' '\t\t expires = "";\n' '\t\t }\n' '\t\t document.cookie = name + "=" + value + expires + "; path=/";\n' '\t\t },\n' '\n' '\t\t createCookielawCookie: function () {\n' "\t\t this.createCookie('cookielaw_accepted', '1', 10 * 365);\n" '\n' "\t\t if (typeof (window.jQuery) === 'function') {\n" "\t\t jQuery('#CookielawBanner').slideUp();\n" '\… <trimmed 12593 bytes string> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
node | <Block Node: content. Contents: []> |
self | [<django.template.defaulttags.LoadNode object at 0x7f14dd6ebaf0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7f14dd6ebac0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7f14dd6ebb20>, <TextNode: '\n<!DOCTYPE html>\n<html la'>, <Block Node: titulo. Contents: []>, <TextNode: '</title>\n\n\t<link href="ht'>, <django.templatetags.static.StaticNode object at 0x7f14dd6eb340>, <TextNode: '">\n\t<link rel="stylesheet'>, <django.templatetags.static.StaticNode object at 0x7f14dd6eb4c0>, <TextNode: '">\n\t<link rel="stylesheet'>, <django.templatetags.static.StaticNode object at 0x7f14dd6eba30>, <TextNode: '">\n\t'>, <Block Node: meta. Contents: [<TextNode: '\n\t'>]>, <TextNode: '\n '>, <Block Node: css. Contents: [<TextNode: '\n <!-- if you want'>]>, <TextNode: '\n\t<script src="https://aj'>, <Variable Node: request.get_host>, <TextNode: '/favicon.ico" type="image'>, <Block Node: head. Contents: [<TextNode: '\n\t<meta name="description'>, <Block Node: title_meta. Contents: []>, <TextNode: '">\n\t<meta name="robots" c'>]>, <TextNode: '\n</head>\n<body class="'>, <Block Node: classes-body. Contents: []>, <TextNode: '">\n<style>\n\t.search-icon{'>, <Block Node: header. Contents: []>, <TextNode: '\n\n'>, <Block Node: content. Contents: []>, <TextNode: '\n\n'>, <Block Node: footer. Contents: []>, <TextNode: '\n\n\n<!---'>, <Tag: cookielaw_banner>, <TextNode: '-->\n<script src="https://'>, <django.templatetags.static.StaticNode object at 0x7f14dd96d490>, <TextNode: '"></script>\n<script src="'>, <django.templatetags.static.StaticNode object at 0x7f14dd96d910>, <TextNode: '"></script>\n<script type='>, <django.templatetags.static.StaticNode object at 0x7f14dd96db20>, <TextNode: '"></script>\n<script type='>, <django.templatetags.static.StaticNode object at 0x7f14dd96d850>, <TextNode: '"></script>\n<script type='>, <django.templatetags.static.StaticNode object at 0x7f14dd96deb0>, <TextNode: '"></script>\n<script src="'>, <Block Node: bottom_js. Contents: [<TextNode: '\n <!-- if you want to '>]>, <TextNode: '\n\n</body>\n</html>\n'>] |
/webapps/urvanity/lib/python3.8/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
self | <Block Node: content. Contents: []> |
/webapps/urvanity/lib/python3.8/site-packages/django/template/loader_tags.py
, line 62, 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 |
---|---|
block | <Block Node: content. Contents: [<TextNode: '\n\n<main class="artista-fa'>, <Variable Node: artista.name>, <TextNode: ' '>, <IfNode>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <Variable Node: artista.image>, <TextNode: '\');">\n </div>\n'>, <Variable Node: artista.description|safe>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n \n '>, <ForNode: for obra in page_obj, tail_len: 3>, <TextNode: '\n </div>\n</main> \n'>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f14dd3baf70> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
push | <Block Node: content. Contents: [<TextNode: '\n\n<main class="artista-fa'>, <Variable Node: artista.name>, <TextNode: ' '>, <IfNode>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <Variable Node: artista.image>, <TextNode: '\');">\n </div>\n'>, <Variable Node: artista.description|safe>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n \n '>, <ForNode: for obra in page_obj, tail_len: 3>, <TextNode: '\n </div>\n</main> \n'>]> |
self | <Block Node: content. Contents: []> |
/webapps/urvanity/lib/python3.8/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | ('\n' ' \n' ' \n' ' </div>\n' ' </div>\n' ' ') |
bits | ['\n' '\n' '<main class="artista-fair">\n' '\n' ' <div class="cabecera">\n' ' <div class="title">\n' ' \n' ' <div class="name">\n' ' <h1>', 'Hugo Rocci', ' ', '', '</h1>\n ', '\n' ' <div class="date">\n' ' <p>(1989)</p>\n' ' </div>\n' ' ', '\n' ' </div>\n' ' <div class="image-artist" style="background-image: url(\'/media/', 'Hugo_Rocci_studio.jpg', '\');">\n' ' </div>\n' ' </div>\n' ' </div>\n' ' <div class="artista-info">\n' ' \n' ' <div class="content" style="grid-column: 1 / span 4;">\n' ' \n' ' <div class="description">\n' '\n' ' ', '<p>Hugo Rocci (Avignon, FR 1989) vive y trabaja en Amsterdam, Holanda. Se ' 'graduó en la Academia Gerrit Rietveld de Amsterdam. La ' 'práctica de Rocci abarca diversos medios, incluida la pintura, la ' 'ceramica y la instalación. Se inspira en los objetos y espacios ' 'cotidianos, abstrayéndolos de una manera que parece al mismo tiempo ' 'familiar y enigmática. Simultáneamente, su trabajo investiga ' 'la conexión y contradicción entre imagen, lenguaje, ' 'símbolo y espacio social.</p>\r\n' '\r\n' '<p>Jong Talent, Mondriaan Fonds (Amsterdam 2018-19). Recientemente ha ' 'participado en exposiciones como L21 takes over Tilde, with Fatima de Juan, ' 'Amsterdam (NL) 2021; By Invitation Only, Logman Gallery, Utrecht (NL) 2020; ' 'Unfair20, Amsterdam (NL) 2020; Fruits & Vegetables, XAOXAX, Praha (CR) ' '2020; Prospects & Concepts , Art Rotterdam (NL) 2020; Back in 5 minutes, ' 'Patty Morgan, Amsterdam (NL) 2019; Red coconut isn’t sunset ' 'exhibition, Lab111 Gallery, Amsterdam (NL) 2018; York Boulevard, ' 'exposición en Fanfare, Amsterdam (NL) 2018; Somewhere down the line, ' 'comisariada por Vanessa Kowalski, NARS Foundation, New York City (USA) 2018; ' 'Summer Show, Nieuw Dakota, Amsterdam (NL) 2017; Contribution to Prints in ' 'Paris 1900 for Fanfare, Van Gogh Museum, Amsterdam (NL) 2017; Bring Your Own ' 'Beamer, Stedelijk Museum, Amsterdam (NL) 2016; Best of Graduates, Gallery ' 'Ron Mandos, Amsterdam (NL) 2015;</p>', '\n ', '\n' ' <div class="socials">\n' ' \n' ' <a href="https://www.rocci-hugo.com/about.html" ' 'target="_blank"><div class="social">WEB</div></a>\n' ' \n' ' \n' ' <a ' 'href="https://www.instagram.com/hugo.rocci/?hl=es" target="_blank"><div ' 'class="social">INSTAGRAM</div></a>\n' ' \n' ' \n' ' \n' ' \n' ' </div>\n' ' ', '\n' ' \n' ' \n' ' </div>\n' ' </div>\n' ' '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
node | <ForNode: for obra in page_obj, tail_len: 3> |
self | [<TextNode: '\n\n<main class="artista-fa'>, <Variable Node: artista.name>, <TextNode: ' '>, <IfNode>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <Variable Node: artista.image>, <TextNode: '\');">\n </div>\n'>, <Variable Node: artista.description|safe>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n \n '>, <ForNode: for obra in page_obj, tail_len: 3>, <TextNode: '\n </div>\n</main> \n'>] |
/webapps/urvanity/lib/python3.8/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
self | <ForNode: for obra in page_obj, tail_len: 3> |
/webapps/urvanity/lib/python3.8/site-packages/django/template/defaulttags.py
, line 211, in render
unpacked_vars = dict(zip(self.loopvars, item))
pop_context = True
context.update(unpacked_vars)
else:
context[self.loopvars[0]] = item
for node in self.nodelist_loop:
nodelist.append(node.render_annotated(context))…
if pop_context:
# Pop the loop variables pushed on to the context to avoid
# the context ending up in an inconsistent state when other
# tags (e.g., include and with) push data to context.
context.pop()
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
i | 0 |
item | <Obra: The book exchange> |
len_values | 15 |
loop_dict | {'counter': 1, 'counter0': 0, 'first': True, 'last': False, 'parentloop': {}, 'revcounter': 15, 'revcounter0': 14} |
node | <IfNode> |
nodelist | ['\n '] |
num_loopvars | 1 |
parentloop | {} |
pop_context | False |
self | <ForNode: for obra in page_obj, tail_len: 3> |
unpack | False |
values | <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]> |
/webapps/urvanity/lib/python3.8/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
self | <IfNode> |
/webapps/urvanity/lib/python3.8/site-packages/django/template/defaulttags.py
, line 312, 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 |
---|---|
condition | (== (literal <django.template.base.FilterExpression object at 0x7f14e083d550>) (literal <django.template.base.FilterExpression object at 0x7f14e083d460>)) |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
match | True |
nodelist | [<TextNode: '\n <div cla'>, <Variable Node: forloop.counter>, <TextNode: '">\n <a'>, <django.template.defaulttags.URLNode object at 0x7f14dd621d00>, <TextNode: '">\n <i'>, <Variable Node: obra.image>, <TextNode: '" alt="'>, <Variable Node: obra.title>, <TextNode: '">\n </'>, <django.template.defaulttags.URLNode object at 0x7f14dd6215b0>, <TextNode: '">\n <d'>, <Variable Node: obra.galeria>, <TextNode: '</p>\n '>, <ForNode: for artista in obra.artista.all, tail_len: 2>, <TextNode: '</p> \n '>, <Variable Node: obra.title>, <TextNode: '</i>"</p> \n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </di'>] |
self | <IfNode> |
/webapps/urvanity/lib/python3.8/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | ('\n' ' </div>\n' ' \n' ' \n' ' </div>\n' ' </a>\n' ' <div class="like-div">\n' ' ') |
bits | ['\n <div class="obras obra-', '1', '">\n <a href="', '/es/fair/obras/the-book-exchange/', '">\n <img src="/media/', 'The_Book_Exchange_KSKKwbw.jpg', '" alt="', 'The book exchange', '">\n' ' </a>\n' ' <div class="flex-content">\n' ' <a href="', '/es/fair/obras/the-book-exchange/', '">\n' ' <div class="content">\n' ' \n' ' <div class="info">\n' ' <p>', 'Art 3035 Gallery', '</p>\n <p>', 'Hugo Rocci<br> ', '</p> \n <p>"<i>', 'The book exchange', '</i>"</p> \n ', '\n' ' <!--<p class="price">3.000 €</p>-->\n' ' <p class="price">Solicitar ' 'precio</p>\n' ' ', '\n' ' </div>\n' ' \n' ' \n' ' </div>\n' ' </a>\n' ' <div class="like-div">\n' ' '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
node | <IfNode> |
self | [<TextNode: '\n <div cla'>, <Variable Node: forloop.counter>, <TextNode: '">\n <a'>, <django.template.defaulttags.URLNode object at 0x7f14dd621d00>, <TextNode: '">\n <i'>, <Variable Node: obra.image>, <TextNode: '" alt="'>, <Variable Node: obra.title>, <TextNode: '">\n </'>, <django.template.defaulttags.URLNode object at 0x7f14dd6215b0>, <TextNode: '">\n <d'>, <Variable Node: obra.galeria>, <TextNode: '</p>\n '>, <ForNode: for artista in obra.artista.all, tail_len: 2>, <TextNode: '</p> \n '>, <Variable Node: obra.title>, <TextNode: '</i>"</p> \n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </di'>] |
/webapps/urvanity/lib/python3.8/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
self | <IfNode> |
/webapps/urvanity/lib/python3.8/site-packages/django/template/defaulttags.py
, line 312, 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 |
---|---|
condition | None |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
match | True |
nodelist | [<TextNode: '\n '>, <Variable Node: obra.pk>, <TextNode: '" data-action-url="'>, <django.template.defaulttags.URLNode object at 0x7f14dd7cc3d0>, <TextNode: '" data-type="obra"><svg x'>] |
self | <IfNode> |
/webapps/urvanity/lib/python3.8/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '" data-action-url="' |
bits | ['\n' ' <span class="like" alt="add to wishlist" ' 'data-id="', '813', '" data-action-url="'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
node | <django.template.defaulttags.URLNode object at 0x7f14dd7cc3d0> |
self | [<TextNode: '\n '>, <Variable Node: obra.pk>, <TextNode: '" data-action-url="'>, <django.template.defaulttags.URLNode object at 0x7f14dd7cc3d0>, <TextNode: '" data-type="obra"><svg x'>] |
/webapps/urvanity/lib/python3.8/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
self | <django.template.defaulttags.URLNode object at 0x7f14dd7cc3d0> |
/webapps/urvanity/lib/python3.8/site-packages/django/template/defaulttags.py
, line 446, in render
current_app = context.request.resolver_match.namespace
except AttributeError:
current_app = None
# Try to look up the URL. If it fails, raise NoReverseMatch unless the
# {% url ... as var %} construct is used, in which case return nothing.
url = ''
try:
url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)…
except NoReverseMatch:
if self.asvar is None:
raise
if self.asvar:
context[self.asvar] = url
Variable | Value |
---|---|
NoReverseMatch | <class 'django.urls.exceptions.NoReverseMatch'> |
args | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'artista': <Artista: Hugo Rocci>, 'page_obj': <MultilingualQuerySet [<Obra: The book exchange>, <Obra: Wash Ô Matic>, <Obra: Café Krom>, <Obra: The Kitchen Store>, <Obra: De notenshop>, <Obra: Boot & key>, <Obra: The Butcher Store>, <Obra: Four Cans of Olives>, <Obra: 56 keys>, <Obra: Optician sign #1>, <Obra: Optician Sign #2>, <Obra: Optician Sign #3>, <Obra: Optician Sign #4>, <Obra: Optician Sign #5>, <Obra: Three bricks>]>, 'wishlisted_list': ()}] |
current_app | 'artistas_app' |
kwargs | {} |
reverse | <function reverse at 0x7f14ebb2f310> |
self | <django.template.defaulttags.URLNode object at 0x7f14dd7cc3d0> |
url | '' |
view_name | 'users_app:add_to_wishlist' |
/webapps/urvanity/lib/python3.8/site-packages/django/urls/base.py
, line 87, in reverse
(key, ':'.join(resolved_path))
)
else:
raise NoReverseMatch("%s is not a registered namespace" % key)
if ns_pattern:
resolver = get_ns_resolver(ns_pattern, resolver, tuple(ns_converters.items()))
return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))…
reverse_lazy = lazy(reverse, str)
def clear_url_caches():
Variable | Value |
---|---|
app_list | ['users_app'] |
args | [] |
current_app | 'artistas_app' |
current_ns | 'artistas_app' |
current_path | None |
extra | 'es/' |
kwargs | {} |
ns | 'users_app' |
ns_converters | {} |
ns_pattern | 'es/' |
path | ['users_app'] |
prefix | '/' |
resolved_path | ['users_app'] |
resolver | <URLResolver <URLResolver list> (None:None) '^/'> |
urlconf | 'urvanity.urls' |
view | 'add_to_wishlist' |
viewname | 'users_app:add_to_wishlist' |
/webapps/urvanity/lib/python3.8/site-packages/django/urls/resolvers.py
, line 685, in _reverse_with_prefix
(lookup_view_s, arg_msg, len(patterns), patterns)
)
else:
msg = (
"Reverse for '%(view)s' not found. '%(view)s' is not "
"a valid view function or pattern name." % {'view': lookup_view_s}
)
raise NoReverseMatch(msg)…
Variable | Value |
---|---|
_prefix | '/' |
args | () |
kwargs | {} |
lookup_view | 'add_to_wishlist' |
lookup_view_s | 'add_to_wishlist' |
m | None |
msg | ("Reverse for 'add_to_wishlist' not found. 'add_to_wishlist' is not a valid " 'view function or pattern name.') |
n | None |
patterns | [] |
possibilities | [] |
self | <URLResolver <URLResolver list> (None:None) '^/'> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CSRF_COOKIE | 'rvVl951KyBPAOiogo1MBDyT6UhHfXXgEA6c1UPxttZDNgNf8v2Z5aT9698cpOAnV' |
CSRF_COOKIE_USED | True |
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'urvanity-art.com' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '54.81.157.133' |
PATH_INFO | '/es/fair/artistas/hugo-rocci/2022/' |
QUERY_STRING | '' |
RAW_URI | '/es/fair/artistas/hugo-rocci/2022/' |
REMOTE_ADDR | '' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | 'urvanity-art.com' |
SERVER_PORT | '80' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SOFTWARE | 'gunicorn/20.0.4' |
gunicorn.socket | <socket.socket fd=9, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, laddr=/webapps/urvanity/run/gunicorn.sock> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f14dd3ac730> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7f14dd3acb20> |
wsgi.input_terminated | True |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
wsgi.version | (1, 0) |
urvanity.config.prod
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'users.User' |
BASE_DIR | Path('/webapps/urvanity/urvanity') |
BLOG_POSTS_PER_PAGE | 99 |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CKEDITOR_CONFIGS | {'default': {'height': 300, 'toolbar': 'Custom', 'toolbar_Custom': [['Bold', 'Italic', 'Underline'], ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'], ['Link', 'Unlink'], ['RemoveFormat', 'Source']], 'width': '100%'}} |
CKEDITOR_UPLOAD_PATH | 'uploads/' |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': True, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': 'localhost', 'NAME': 'urvanity', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': 5432, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'urvanity'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 10240 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'hello@uvnt-art.com' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
DJANGO_APPS | ('modeltranslation', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'adminsortable', 'formtools', 'ckeditor', 'crispy_forms', 'autoslug', 'wordpress_api', 'django.contrib.humanize', 'mailchimp3', 'captcha', 'cookielaw', 'django_social_share', 'import_export', 'sorl.thumbnail', 'redsys_gateway') |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'smtp.eu.mailgun.org' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'postmaster@mg.urvanity-art.com' |
EMAIL_PORT | 587 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | True |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ('modeltranslation', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'adminsortable', 'formtools', 'ckeditor', 'crispy_forms', 'autoslug', 'wordpress_api', 'django.contrib.humanize', 'mailchimp3', 'captcha', 'cookielaw', 'django_social_share', 'import_export', 'sorl.thumbnail', 'redsys_gateway', 'apps.artistas', 'apps.eventos', 'apps.obras', 'apps.galerias', 'apps.exposicioneslab', 'apps.pages', 'apps.wishlist', 'apps.fairs', 'apps.users', 'apps.projects', 'apps.pedidos', 'apps.multimedia', 'apps.inscripciones', 'apps.recomendaciones') |
INTERNAL_IPS | [] |
LANGUAGES | (('es', 'Spanish'), ('en', 'English')) |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'es' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | [Path('/webapps/urvanity/urvanity/locale')] |
LOCAL_APPS | ('apps.artistas', 'apps.eventos', 'apps.obras', 'apps.galerias', 'apps.exposicioneslab', 'apps.pages', 'apps.wishlist', 'apps.fairs', 'apps.users', 'apps.projects', 'apps.pedidos', 'apps.multimedia', 'apps.inscripciones', 'apps.recomendaciones') |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | Path('/webapps/urvanity/urvanity/media') |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ('django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'apps.inscripciones.middlewares.CustomCSRFMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware') |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
RECAPTCHA_PRIVATE_KEY | '********************' |
RECAPTCHA_PUBLIC_KEY | '********************' |
REDSYS_API_URL | '********************' |
REDSYS_CURRENCY | 978 |
REDSYS_MERCHANT_CODE | '357699974' |
REDSYS_MERCHANT_NAME | 'UVNT ART SLU' |
REDSYS_MERCHANT_SIGNATURE | '********************' |
REDSYS_PRODUCT_DESCRIPTION | 'UVNT ART FAIR' |
REDSYS_REDIRECT_VIEW | 'apps.inscripciones.views.InscriptionRejected' |
REDSYS_SANDBOX | False |
REDSYS_SECRET_KEY | '********************' |
REDSYS_TERMINAL | 1 |
REDSYS_TITULAR | 'UVNT ART FAIR' |
REDSYS_TRANSACTIONTYPE | '0' |
REDSYS_TRANSACTION_ACCEPTED_VIEW | 'apps.inscripciones.views.InscriptionAccepted' |
REDSYS_TRANSACTION_REJECTED_VIEW | 'apps.inscripciones.views.InscriptionRejected' |
ROOT_URLCONF | 'urvanity.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 3600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | True |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'urvanity.config.prod' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
STATICFILES_DIRS | [Path('/webapps/urvanity/urvanity/assets')] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | Path('/webapps/urvanity/urvanity/staticfiles') |
STATIC_URL | '/assets/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [Path('/webapps/urvanity/urvanity/templates')], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.template.context_processors.static', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THIRD_PARTY_APPS | () |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'UTC' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WP_API_ALLOW_LANGUAGE | '********************' |
WP_URL | 'https://urvanitynews.capitanproject.com/' |
WSGI_APPLICATION | 'urvanity.wsgi.application' |
X_FRAME_OPTIONS | 'DENY' |
YEAR_MONTH_FORMAT | 'F Y' |
You're seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard page generated by the handler for this status code.