'Product' object is not iterable
Request Method: | GET |
---|---|
Request URL: | http://tpid.lombokbaratkab.go.id/product/product-price-front/120000 |
Django Version: | 3.2 |
Exception Type: | TypeError |
Exception Value: | 'Product' object is not iterable |
Exception Location: | /usr/local/lib/python3.8/site-packages/django/template/defaulttags.py, line 167, in render |
Python Executable: | /usr/local/bin/python |
Python Version: | 3.8.13 |
Python Path: | ['/app/tpid_lobar/libs', '/app/tpid_lobar/apps', '/app', '/usr/local/bin', '/usr/local/lib/python38.zip', '/usr/local/lib/python3.8', '/usr/local/lib/python3.8/lib-dynload', '/usr/local/lib/python3.8/site-packages', '/app/tpid_lobar/apps', '/app/tpid_lobar/libs', '/usr/local/lib/python3.8/site-packages/odf', '/usr/local/lib/python3.8/site-packages/odf', '/usr/local/lib/python3.8/site-packages/odf', '/usr/local/lib/python3.8/site-packages/odf', '/usr/local/lib/python3.8/site-packages/odf', '/usr/local/lib/python3.8/site-packages/odf', '/usr/local/lib/python3.8/site-packages/odf'] |
Server time: | Fri, 29 Mar 2024 06:14:54 +0800 |
In template /app/templates/home/_base/base.html
, error at line 0
1 | {% load static %} |
---|---|
2 | {% load meta %} |
3 | |
4 | <!DOCTYPE html> |
5 | <html> |
6 | |
7 | <head {% meta_namespaces %}> |
8 | {% include "meta/meta.html" %} |
9 | |
10 | <link rel="shortcut icon" href="{% static 'home/sites/default/files/logo.png' %}" type="image/vnd.microsoft.icon" /> |
/usr/local/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 | TypeError("'Product' object is not iterable") |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f742f7ed7c0>> |
request | <WSGIRequest: GET '/product/product-price-front/120000'> |
/usr/local/lib/python3.8/site-packages/django/core/handlers/base.py
, line 204, in _get_response
response,
middleware_method,
name='%s.process_template_response' % (
middleware_method.__self__.__class__.__name__,
)
)
try:
response = response.render()…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
return response
Variable | Value |
---|---|
callback | <function PriceDetailFrontView at 0x7f742d014e50> |
callback_args | () |
callback_kwargs | {'price': '120000'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f742d993640>> |
request | <WSGIRequest: GET '/product/product-price-front/120000'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f742f7ed7c0> |
wrapped_callback | <function PriceDetailFrontView at 0x7f742d014e50> |
/usr/local/lib/python3.8/site-packages/django/template/response.py
, line 105, in render
If the content has already been rendered, this is a no-op.
Return the baked response instance.
"""
retval = self
if not self._is_rendered:
self.content = self.rendered_content…
for post_callback in self._post_render_callbacks:
newretval = post_callback(retval)
if newretval is not None:
retval = newretval
return retval
Variable | Value |
---|---|
retval | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
/usr/local/lib/python3.8/site-packages/django/template/response.py
, line 83, 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)
return template.render(context, self._request)…
def add_post_render_callback(self, callback):
"""Add a new post-rendering callback.
If the response has already been rendered,
invoke the callback immediately.
Variable | Value |
---|---|
context | {'categories': <QuerySet [<ProductCategory: Makanan>, <ProductCategory: Minuman>, <ProductCategory: Fashion>, <ProductCategory: Kriya Kerajinan>, <ProductCategory: Budidaya>, <ProductCategory: Parfum>, <ProductCategory: Sabun Cair>, <ProductCategory: Diterjen>]>, 'meta': <meta.views.Meta object at 0x7f742c8b38e0>, 'object': <Product: Tas Etnik Mania>, 'product': <Product: Tas Etnik Mania>, 'products': <QuerySet [<Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>, <Product: Takoyaki Yazan>, <Product: Es Kelapa Yazan>, <Product: Rawon Yazan>, <Product: Macaroni Pedas>, <Product: Abon Ikan Marlin>, <Product: Kopi Lombok Warisan Papuk>, <Product: Pawon Dende>, <Product: Kartika Art Shop>, <Product: Gholik Cukli>, <Product: Heni Hendro>, <Product: Rumah Jahit Kinasih>, <Product: Waidah Mutiara Lombok>, <Product: Tas Etnik Mania>, <Product: Abon Ikan Tunjung Biru>, <Product: Bale Jamur Berkah>, <Product: GEM Pearls>, '...(remaining elements truncated)...']>, 'tags': <QuerySet [<ProductTag: Makanan>, <ProductTag: Minuman>, <ProductTag: Kriya Kerajinan>, <ProductTag: Fashion>, <ProductTag: Budidaya>, <ProductTag: Tradisional>, <ProductTag: Sabun Cair>, <ProductTag: Diterjen>, <ProductTag: Parfum>]>, 'top_products': <QuerySet [<Product: Kopi Lombok Warisan Papuk>, <Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>]>, 'view': <product.views.PriceDetailFrontView object at 0x7f742c8b3220>} |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
template | <django.template.backends.django.Template object at 0x7f742c892ac0> |
/usr/local/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}, {}, {}, {'object': <Product: Tas Etnik Mania>, 'product': <Product: Tas Etnik Mania>, 'view': <product.views.PriceDetailFrontView object at 0x7f742c8b3220>, 'products': <QuerySet [<Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>, <Product: Takoyaki Yazan>, <Product: Es Kelapa Yazan>, <Product: Rawon Yazan>, <Product: Macaroni Pedas>, <Product: Abon Ikan Marlin>, <Product: Kopi Lombok Warisan Papuk>, <Product: Pawon Dende>, <Product: Kartika Art Shop>, <Product: Gholik Cukli>, <Product: Heni Hendro>, <Product: Rumah Jahit Kinasih>, <Product: Waidah Mutiara Lombok>, <Product: Tas Etnik Mania>, <Product: Abon Ikan Tunjung Biru>, <Product: Bale Jamur Berkah>, <Product: GEM Pearls>, '...(remaining elements truncated)...']>, 'top_products': <QuerySet [<Product: Kopi Lombok Warisan Papuk>, <Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>]>, 'categories': <QuerySet [<ProductCategory: Makanan>, <ProductCategory: Minuman>, <ProductCategory: Fashion>, <ProductCategory: Kriya Kerajinan>, <ProductCategory: Budidaya>, <ProductCategory: Parfum>, <ProductCategory: Sabun Cair>, <ProductCategory: Diterjen>]>, 'tags': <QuerySet [<ProductTag: Makanan>, <ProductTag: Minuman>, <ProductTag: Kriya Kerajinan>, <ProductTag: Fashion>, <ProductTag: Budidaya>, <ProductTag: Tradisional>, <ProductTag: Sabun Cair>, <ProductTag: Diterjen>, <ProductTag: Parfum>]>, 'meta': <meta.views.Meta object at 0x7f742c8b38e0>}] |
request | <WSGIRequest: GET '/product/product-price-front/120000'> |
self | <django.template.backends.django.Template object at 0x7f742c892ac0> |
/usr/local/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}, {}, {}, {'object': <Product: Tas Etnik Mania>, 'product': <Product: Tas Etnik Mania>, 'view': <product.views.PriceDetailFrontView object at 0x7f742c8b3220>, 'products': <QuerySet [<Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>, <Product: Takoyaki Yazan>, <Product: Es Kelapa Yazan>, <Product: Rawon Yazan>, <Product: Macaroni Pedas>, <Product: Abon Ikan Marlin>, <Product: Kopi Lombok Warisan Papuk>, <Product: Pawon Dende>, <Product: Kartika Art Shop>, <Product: Gholik Cukli>, <Product: Heni Hendro>, <Product: Rumah Jahit Kinasih>, <Product: Waidah Mutiara Lombok>, <Product: Tas Etnik Mania>, <Product: Abon Ikan Tunjung Biru>, <Product: Bale Jamur Berkah>, <Product: GEM Pearls>, '...(remaining elements truncated)...']>, 'top_products': <QuerySet [<Product: Kopi Lombok Warisan Papuk>, <Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>]>, 'categories': <QuerySet [<ProductCategory: Makanan>, <ProductCategory: Minuman>, <ProductCategory: Fashion>, <ProductCategory: Kriya Kerajinan>, <ProductCategory: Budidaya>, <ProductCategory: Parfum>, <ProductCategory: Sabun Cair>, <ProductCategory: Diterjen>]>, 'tags': <QuerySet [<ProductTag: Makanan>, <ProductTag: Minuman>, <ProductTag: Kriya Kerajinan>, <ProductTag: Fashion>, <ProductTag: Budidaya>, <ProductTag: Tradisional>, <ProductTag: Sabun Cair>, <ProductTag: Diterjen>, <ProductTag: Parfum>]>, 'meta': <meta.views.Meta object at 0x7f742c8b38e0>}] |
self | <django.template.base.Template object at 0x7f742c8b33a0> |
/usr/local/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}, {}, {}, {'object': <Product: Tas Etnik Mania>, 'product': <Product: Tas Etnik Mania>, 'view': <product.views.PriceDetailFrontView object at 0x7f742c8b3220>, 'products': <QuerySet [<Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>, <Product: Takoyaki Yazan>, <Product: Es Kelapa Yazan>, <Product: Rawon Yazan>, <Product: Macaroni Pedas>, <Product: Abon Ikan Marlin>, <Product: Kopi Lombok Warisan Papuk>, <Product: Pawon Dende>, <Product: Kartika Art Shop>, <Product: Gholik Cukli>, <Product: Heni Hendro>, <Product: Rumah Jahit Kinasih>, <Product: Waidah Mutiara Lombok>, <Product: Tas Etnik Mania>, <Product: Abon Ikan Tunjung Biru>, <Product: Bale Jamur Berkah>, <Product: GEM Pearls>, '...(remaining elements truncated)...']>, 'top_products': <QuerySet [<Product: Kopi Lombok Warisan Papuk>, <Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>]>, 'categories': <QuerySet [<ProductCategory: Makanan>, <ProductCategory: Minuman>, <ProductCategory: Fashion>, <ProductCategory: Kriya Kerajinan>, <ProductCategory: Budidaya>, <ProductCategory: Parfum>, <ProductCategory: Sabun Cair>, <ProductCategory: Diterjen>]>, 'tags': <QuerySet [<ProductTag: Makanan>, <ProductTag: Minuman>, <ProductTag: Kriya Kerajinan>, <ProductTag: Fashion>, <ProductTag: Budidaya>, <ProductTag: Tradisional>, <ProductTag: Sabun Cair>, <ProductTag: Diterjen>, <ProductTag: Parfum>]>, 'meta': <meta.views.Meta object at 0x7f742c8b38e0>}] |
self | <django.template.base.Template object at 0x7f742c8b33a0> |
/usr/local/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}, {}, {}, {'object': <Product: Tas Etnik Mania>, 'product': <Product: Tas Etnik Mania>, 'view': <product.views.PriceDetailFrontView object at 0x7f742c8b3220>, 'products': <QuerySet [<Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>, <Product: Takoyaki Yazan>, <Product: Es Kelapa Yazan>, <Product: Rawon Yazan>, <Product: Macaroni Pedas>, <Product: Abon Ikan Marlin>, <Product: Kopi Lombok Warisan Papuk>, <Product: Pawon Dende>, <Product: Kartika Art Shop>, <Product: Gholik Cukli>, <Product: Heni Hendro>, <Product: Rumah Jahit Kinasih>, <Product: Waidah Mutiara Lombok>, <Product: Tas Etnik Mania>, <Product: Abon Ikan Tunjung Biru>, <Product: Bale Jamur Berkah>, <Product: GEM Pearls>, '...(remaining elements truncated)...']>, 'top_products': <QuerySet [<Product: Kopi Lombok Warisan Papuk>, <Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>]>, 'categories': <QuerySet [<ProductCategory: Makanan>, <ProductCategory: Minuman>, <ProductCategory: Fashion>, <ProductCategory: Kriya Kerajinan>, <ProductCategory: Budidaya>, <ProductCategory: Parfum>, <ProductCategory: Sabun Cair>, <ProductCategory: Diterjen>]>, 'tags': <QuerySet [<ProductTag: Makanan>, <ProductTag: Minuman>, <ProductTag: Kriya Kerajinan>, <ProductTag: Fashion>, <ProductTag: Budidaya>, <ProductTag: Tradisional>, <ProductTag: Sabun Cair>, <ProductTag: Diterjen>, <ProductTag: Parfum>]>, 'meta': <meta.views.Meta object at 0x7f742c8b38e0>}] |
node | <ExtendsNode: extends "home/_base/base.html"> |
self | [<ExtendsNode: extends "home/_base/base.html">] |
/usr/local/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}, {}, {}, {'object': <Product: Tas Etnik Mania>, 'product': <Product: Tas Etnik Mania>, 'view': <product.views.PriceDetailFrontView object at 0x7f742c8b3220>, 'products': <QuerySet [<Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>, <Product: Takoyaki Yazan>, <Product: Es Kelapa Yazan>, <Product: Rawon Yazan>, <Product: Macaroni Pedas>, <Product: Abon Ikan Marlin>, <Product: Kopi Lombok Warisan Papuk>, <Product: Pawon Dende>, <Product: Kartika Art Shop>, <Product: Gholik Cukli>, <Product: Heni Hendro>, <Product: Rumah Jahit Kinasih>, <Product: Waidah Mutiara Lombok>, <Product: Tas Etnik Mania>, <Product: Abon Ikan Tunjung Biru>, <Product: Bale Jamur Berkah>, <Product: GEM Pearls>, '...(remaining elements truncated)...']>, 'top_products': <QuerySet [<Product: Kopi Lombok Warisan Papuk>, <Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>]>, 'categories': <QuerySet [<ProductCategory: Makanan>, <ProductCategory: Minuman>, <ProductCategory: Fashion>, <ProductCategory: Kriya Kerajinan>, <ProductCategory: Budidaya>, <ProductCategory: Parfum>, <ProductCategory: Sabun Cair>, <ProductCategory: Diterjen>]>, 'tags': <QuerySet [<ProductTag: Makanan>, <ProductTag: Minuman>, <ProductTag: Kriya Kerajinan>, <ProductTag: Fashion>, <ProductTag: Budidaya>, <ProductTag: Tradisional>, <ProductTag: Sabun Cair>, <ProductTag: Diterjen>, <ProductTag: Parfum>]>, 'meta': <meta.views.Meta object at 0x7f742c8b38e0>}] |
self | <ExtendsNode: extends "home/_base/base.html"> |
/usr/local/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 0x7f742c724910> |
blocks | {'content': <Block Node: content. Contents: [<TextNode: '\n\n '>]>, 'js': <Block Node: js. Contents: []>} |
compiled_parent | <django.template.base.Template object at 0x7f742d0d13a0> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <Product: Tas Etnik Mania>, 'product': <Product: Tas Etnik Mania>, 'view': <product.views.PriceDetailFrontView object at 0x7f742c8b3220>, 'products': <QuerySet [<Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>, <Product: Takoyaki Yazan>, <Product: Es Kelapa Yazan>, <Product: Rawon Yazan>, <Product: Macaroni Pedas>, <Product: Abon Ikan Marlin>, <Product: Kopi Lombok Warisan Papuk>, <Product: Pawon Dende>, <Product: Kartika Art Shop>, <Product: Gholik Cukli>, <Product: Heni Hendro>, <Product: Rumah Jahit Kinasih>, <Product: Waidah Mutiara Lombok>, <Product: Tas Etnik Mania>, <Product: Abon Ikan Tunjung Biru>, <Product: Bale Jamur Berkah>, <Product: GEM Pearls>, '...(remaining elements truncated)...']>, 'top_products': <QuerySet [<Product: Kopi Lombok Warisan Papuk>, <Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>]>, 'categories': <QuerySet [<ProductCategory: Makanan>, <ProductCategory: Minuman>, <ProductCategory: Fashion>, <ProductCategory: Kriya Kerajinan>, <ProductCategory: Budidaya>, <ProductCategory: Parfum>, <ProductCategory: Sabun Cair>, <ProductCategory: Diterjen>]>, 'tags': <QuerySet [<ProductTag: Makanan>, <ProductTag: Minuman>, <ProductTag: Kriya Kerajinan>, <ProductTag: Fashion>, <ProductTag: Budidaya>, <ProductTag: Tradisional>, <ProductTag: Sabun Cair>, <ProductTag: Diterjen>, <ProductTag: Parfum>]>, 'meta': <meta.views.Meta object at 0x7f742c8b38e0>}] |
node | <django.template.defaulttags.LoadNode object at 0x7f742c8d70a0> |
self | <ExtendsNode: extends "home/_base/base.html"> |
/usr/local/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}, {}, {}, {'object': <Product: Tas Etnik Mania>, 'product': <Product: Tas Etnik Mania>, 'view': <product.views.PriceDetailFrontView object at 0x7f742c8b3220>, 'products': <QuerySet [<Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>, <Product: Takoyaki Yazan>, <Product: Es Kelapa Yazan>, <Product: Rawon Yazan>, <Product: Macaroni Pedas>, <Product: Abon Ikan Marlin>, <Product: Kopi Lombok Warisan Papuk>, <Product: Pawon Dende>, <Product: Kartika Art Shop>, <Product: Gholik Cukli>, <Product: Heni Hendro>, <Product: Rumah Jahit Kinasih>, <Product: Waidah Mutiara Lombok>, <Product: Tas Etnik Mania>, <Product: Abon Ikan Tunjung Biru>, <Product: Bale Jamur Berkah>, <Product: GEM Pearls>, '...(remaining elements truncated)...']>, 'top_products': <QuerySet [<Product: Kopi Lombok Warisan Papuk>, <Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>]>, 'categories': <QuerySet [<ProductCategory: Makanan>, <ProductCategory: Minuman>, <ProductCategory: Fashion>, <ProductCategory: Kriya Kerajinan>, <ProductCategory: Budidaya>, <ProductCategory: Parfum>, <ProductCategory: Sabun Cair>, <ProductCategory: Diterjen>]>, 'tags': <QuerySet [<ProductTag: Makanan>, <ProductTag: Minuman>, <ProductTag: Kriya Kerajinan>, <ProductTag: Fashion>, <ProductTag: Budidaya>, <ProductTag: Tradisional>, <ProductTag: Sabun Cair>, <ProductTag: Diterjen>, <ProductTag: Parfum>]>, 'meta': <meta.views.Meta object at 0x7f742c8b38e0>}] |
self | <django.template.base.Template object at 0x7f742d0d13a0> |
/usr/local/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' ' </div>\n' ' </div>\n' ' </div>\n' ' </div>\n' ' </div>\n' '\n' ' </header>\n' '\n' '\n' '\n' ' <div class="help show">\n' ' <div class="container">\n' ' <div class="content-inner">\n' ' <div>\n' ' <div data-drupal-messages-fallback class="hidden"></div>\n' '\n' ' </div>\n' '\n' ' </div>\n' ' </div>\n' ' </div>\n' '\n' ' <div class="clearfix"></div>\n' '\n' '\n' ' <div class="clearfix"></div>\n' '\n' ' <div role="main" class="main main-page">\n' ' <div id="content" class="content content-full">\n' ' <div class="container-full clearfix">\n' '\n' ' <div class="content-main-inner">\n' ' <div class="row">\n' '\n' '\n' ' <div id="page-main-content" class="main-content col-md-12 ' 'col-xs-12">\n' ' <div class="main-content-inner">\n' '\n' '\n' ' <div class="content-main">\n' ' <div>\n' ' <div id="block-gavias-sancy-content"\n' ' class="block block-system block-system-main-block ' 'no-title">\n' '\n' '\n' ' <div class="content block-content">\n' '\n' ' <article data-history-node-id="1" role="article" ' 'typeof="schema:WebPage"\n' ' class="node node--type-page ' 'node--view-mode-full clearfix block">\n' '\n' ' <div class="node__content clearfix">\n' '\n' ' <div\n' ' class="field ' 'field--name-field-content-builder field--type-gavias-content-builder ' 'field--label-hidden field__item">\n' ' <div class="gavias-blockbuilder-content">\n' '\n' ' <div class="gavias-builder--content">\n' ' ') |
bits | ['', '\n', '', '\n\n<!DOCTYPE html>\n<html>\n\n<head ', ' prefix="og: http://ogp.me/ns#"', '>\n ', '\n' '<meta name="description" content="<p>Tas Etnik ' 'Mania</p>"><title>SILAKNIKI TPID Kabupaten Lombok Barat - Tas Etnik ' 'Mania</title><meta property="og:title" content="SILAKNIKI TPID Kabupaten ' 'Lombok Barat - Tas Etnik Mania"><meta property="og:description" ' 'content="<p>Tas Etnik Mania</p>"><meta property="og:image" ' 'content="https://tpid.lombokbaratkab.go.id/media/product_media/WhatsApp_Image_2022-10-04_at_12.17.13.jpeg"><meta ' 'property="og:image:secure_url" ' 'content="https://tpid.lombokbaratkab.go.id/media/product_media/WhatsApp_Image_2022-10-04_at_12.17.13.jpeg"><meta ' 'property="og:type" content="Article"><meta name="twitter:domain" ' 'content="tpid.lombokbaratkab.go.id"><meta name="twitter:card" ' 'content="summary"><meta name="twitter:title" content="SILAKNIKI TPID ' 'Kabupaten Lombok Barat - Tas Etnik Mania"><meta name="twitter:description" ' 'content="<p>Tas Etnik Mania</p>"><meta name="twitter:image" ' 'content="https://tpid.lombokbaratkab.go.id/media/product_media/WhatsApp_Image_2022-10-04_at_12.17.13.jpeg"><meta ' 'itemprop="name" content="SILAKNIKI TPID Kabupaten Lombok Barat - Tas Etnik ' 'Mania"><meta itemprop="description" content="<p>Tas Etnik ' 'Mania</p>"><meta itemprop="image" ' 'content="https://tpid.lombokbaratkab.go.id/media/product_media/WhatsApp_Image_2022-10-04_at_12.17.13.jpeg">\n', '\n\n <link rel="shortcut icon" href="', '/static/home/sites/default/files/logo.png', '" type="image/vnd.microsoft.icon" />\n' ' <!-- <link rel="canonical" href="beranda.html" />\n' ' <link rel="shortlink" href="node/1.html" /> -->\n' '\n' '\n' ' <title>Beranda | SILAKNIKI TPID Kabupaten Lombok Barat</title>\n' ' <link rel="stylesheet" media="all"\n' ' href="', '/static/home/sites/default/files/css/css_MBKnm43AToNHB7yIzTvtrObrEkFFFiVHYh_VYyDW17Q.css', '" />\n' ' <link rel="stylesheet" media="all" ' 'href="https://fonts.googleapis.com/css?family=Open+Sans:400,500,600,700" />\n' ' <link rel="stylesheet" media="all"\n' ' href="', '/static/home/sites/default/files/css/css_0u9JvZVDv9eSBX2iQ29vdfMGpKvNR_yPz1WeukYJMUM.css', '" />\n' '\n' ' <script type="text/javascript" ' 'src="https://widget.kominfo.go.id/gpr-widget-kominfo.min.js"></script>\n' ' <script src="', '/static/home/sites/default/files/js/js_oMFMuTW3a3BV8Z5uDW19TuEUyPQjTKHiuFuPzKximhs.js', '"></script>\n <script src="', '/static/home/sites/default/files/js/js_2gqAMYanBWDoznkEsgtQGG_de_LJYG-587wxXBkejVg.js', '"></script>\n <script src="', '/static/home/sites/default/files/js/js_WZMLpbJtwNLZBwmB3Andy_bcrOVzTN0OLIIaIRrDrP8.js', '"></script>\n' ' <script src="https://unpkg.com/vue@3"></script>\n' '\n' ' <style class="customize">\n' ' body {\n' ' background-image: url("', '/static/home/themes/gavias_sancy/images/patterns/subtle_grunge.png', '");\n' ' }\n' '\n' ' body {\n' ' background-repeat: repeat;\n' ' }\n' '\n' ' .main-menu,\n' ' ul.gva_menu {\n' ' background: #dbdbdb !important;\n' ' }\n' '\n' ' .main-menu ul.gva_menu>li>a {\n' ' color: #000000 !important;\n' ' }\n' '\n' ' .main-menu ul.gva_menu>li>a:hover {\n' ' color: #e69600 !important;\n' ' }\n' '\n' ' /* .main-menu .sub-menu {\n' ' background: #f0f0f0 !important;\n' ' color: !important;\n' ' } */\n' ' </style>\n' '</head>\n' '\n' '<body\n' ' class="gavias-content-builder hidden-title boxed layout-no-sidebars ' 'not-preloader layout-page-fw body-background-dark frontpage ' 'node--type-page">\n' ' <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>\n' ' <div class="body-page">\n' ' <header id="header" class="header-v2">\n' '\n' ' ', '<div class="topbar">\n' ' <div class="container">\n' ' <div class="row">\n' '\n' ' <div class="topbar-left col-sm-10 col-xs-12">\n' ' <div class="breaking-news">\n' ' … <trimmed 33035 bytes string> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <Product: Tas Etnik Mania>, 'product': <Product: Tas Etnik Mania>, 'view': <product.views.PriceDetailFrontView object at 0x7f742c8b3220>, 'products': <QuerySet [<Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>, <Product: Takoyaki Yazan>, <Product: Es Kelapa Yazan>, <Product: Rawon Yazan>, <Product: Macaroni Pedas>, <Product: Abon Ikan Marlin>, <Product: Kopi Lombok Warisan Papuk>, <Product: Pawon Dende>, <Product: Kartika Art Shop>, <Product: Gholik Cukli>, <Product: Heni Hendro>, <Product: Rumah Jahit Kinasih>, <Product: Waidah Mutiara Lombok>, <Product: Tas Etnik Mania>, <Product: Abon Ikan Tunjung Biru>, <Product: Bale Jamur Berkah>, <Product: GEM Pearls>, '...(remaining elements truncated)...']>, 'top_products': <QuerySet [<Product: Kopi Lombok Warisan Papuk>, <Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>]>, 'categories': <QuerySet [<ProductCategory: Makanan>, <ProductCategory: Minuman>, <ProductCategory: Fashion>, <ProductCategory: Kriya Kerajinan>, <ProductCategory: Budidaya>, <ProductCategory: Parfum>, <ProductCategory: Sabun Cair>, <ProductCategory: Diterjen>]>, 'tags': <QuerySet [<ProductTag: Makanan>, <ProductTag: Minuman>, <ProductTag: Kriya Kerajinan>, <ProductTag: Fashion>, <ProductTag: Budidaya>, <ProductTag: Tradisional>, <ProductTag: Sabun Cair>, <ProductTag: Diterjen>, <ProductTag: Parfum>]>, 'meta': <meta.views.Meta object at 0x7f742c8b38e0>}] |
node | <Block Node: content. Contents: [<TextNode: '\n\n '>]> |
self | [<django.template.defaulttags.LoadNode object at 0x7f742c8d70a0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7f742c8d7520>, <TextNode: '\n\n<!DOCTYPE html>\n<html>\n'>, <django.template.library.SimpleNode object at 0x7f742c8d77c0>, <TextNode: '>\n '>, <django.template.loader_tags.IncludeNode object at 0x7f742c8d7d30>, <TextNode: '\n\n <link rel="shortcut i'>, <django.templatetags.static.StaticNode object at 0x7f742c8d75e0>, <TextNode: '" type="image/vnd.microso'>, <django.templatetags.static.StaticNode object at 0x7f742d0af5b0>, <TextNode: '" />\n <link rel="stylesh'>, <django.templatetags.static.StaticNode object at 0x7f742c6d0820>, <TextNode: '" />\n\n <script type="tex'>, <django.templatetags.static.StaticNode object at 0x7f742c6d0b20>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7f742c6d0130>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7f742c6d0b50>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7f742c6d0370>, <TextNode: '");\n }\n\n body {\n '>, <django.template.loader_tags.IncludeNode object at 0x7f742c6d08e0>, <TextNode: '\n\n <div class="hea'>, <django.template.defaulttags.URLNode object at 0x7f742c6d0460>, <TextNode: '" title="Home" rel="home"'>, <django.templatetags.static.StaticNode object at 0x7f742c8f5280>, <TextNode: '" alt="Home" />\n '>, <django.template.loader_tags.IncludeNode object at 0x7f742c8f5100>, <TextNode: '\n\n </div>\n'>, <Block Node: content. Contents: [<TextNode: '\n\n '>]>, <TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7f742c8f5220>, <TextNode: '\n </div>\n </div>\n '>, <Block Node: js. Contents: []>, <TextNode: '\n</body>\n\n</html>'>] |
/usr/local/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}, {}, {}, {'object': <Product: Tas Etnik Mania>, 'product': <Product: Tas Etnik Mania>, 'view': <product.views.PriceDetailFrontView object at 0x7f742c8b3220>, 'products': <QuerySet [<Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>, <Product: Takoyaki Yazan>, <Product: Es Kelapa Yazan>, <Product: Rawon Yazan>, <Product: Macaroni Pedas>, <Product: Abon Ikan Marlin>, <Product: Kopi Lombok Warisan Papuk>, <Product: Pawon Dende>, <Product: Kartika Art Shop>, <Product: Gholik Cukli>, <Product: Heni Hendro>, <Product: Rumah Jahit Kinasih>, <Product: Waidah Mutiara Lombok>, <Product: Tas Etnik Mania>, <Product: Abon Ikan Tunjung Biru>, <Product: Bale Jamur Berkah>, <Product: GEM Pearls>, '...(remaining elements truncated)...']>, 'top_products': <QuerySet [<Product: Kopi Lombok Warisan Papuk>, <Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>]>, 'categories': <QuerySet [<ProductCategory: Makanan>, <ProductCategory: Minuman>, <ProductCategory: Fashion>, <ProductCategory: Kriya Kerajinan>, <ProductCategory: Budidaya>, <ProductCategory: Parfum>, <ProductCategory: Sabun Cair>, <ProductCategory: Diterjen>]>, 'tags': <QuerySet [<ProductTag: Makanan>, <ProductTag: Minuman>, <ProductTag: Kriya Kerajinan>, <ProductTag: Fashion>, <ProductTag: Budidaya>, <ProductTag: Tradisional>, <ProductTag: Sabun Cair>, <ProductTag: Diterjen>, <ProductTag: Parfum>]>, 'meta': <meta.views.Meta object at 0x7f742c8b38e0>}] |
self | <Block Node: content. Contents: [<TextNode: '\n\n '>]> |
/usr/local/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<div id="page-main-cont'>, <Variable Node: article.pk>, <TextNode: '" role="article" about="'>, <Variable Node: article.slug>, <TextNode: '"\n '>, <ForNode: for rn in product, tail_len: 19>, <TextNode: '\n '>, <ForNode: for tn in top_products, tail_len: 7>, <TextNode: '\n '>, <ForNode: for tn in top_products, tail_len: 7>, <TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7f742c8e74c0>, <TextNode: '\n\n\n <!-- <div '>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f742c724910> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <Product: Tas Etnik Mania>, 'product': <Product: Tas Etnik Mania>, 'view': <product.views.PriceDetailFrontView object at 0x7f742c8b3220>, 'products': <QuerySet [<Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>, <Product: Takoyaki Yazan>, <Product: Es Kelapa Yazan>, <Product: Rawon Yazan>, <Product: Macaroni Pedas>, <Product: Abon Ikan Marlin>, <Product: Kopi Lombok Warisan Papuk>, <Product: Pawon Dende>, <Product: Kartika Art Shop>, <Product: Gholik Cukli>, <Product: Heni Hendro>, <Product: Rumah Jahit Kinasih>, <Product: Waidah Mutiara Lombok>, <Product: Tas Etnik Mania>, <Product: Abon Ikan Tunjung Biru>, <Product: Bale Jamur Berkah>, <Product: GEM Pearls>, '...(remaining elements truncated)...']>, 'top_products': <QuerySet [<Product: Kopi Lombok Warisan Papuk>, <Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>]>, 'categories': <QuerySet [<ProductCategory: Makanan>, <ProductCategory: Minuman>, <ProductCategory: Fashion>, <ProductCategory: Kriya Kerajinan>, <ProductCategory: Budidaya>, <ProductCategory: Parfum>, <ProductCategory: Sabun Cair>, <ProductCategory: Diterjen>]>, 'tags': <QuerySet [<ProductTag: Makanan>, <ProductTag: Minuman>, <ProductTag: Kriya Kerajinan>, <ProductTag: Fashion>, <ProductTag: Budidaya>, <ProductTag: Tradisional>, <ProductTag: Sabun Cair>, <ProductTag: Diterjen>, <ProductTag: Parfum>]>, 'meta': <meta.views.Meta object at 0x7f742c8b38e0>}] |
push | <Block Node: content. Contents: [<TextNode: '\n\n<div id="page-main-cont'>, <Variable Node: article.pk>, <TextNode: '" role="article" about="'>, <Variable Node: article.slug>, <TextNode: '"\n '>, <ForNode: for rn in product, tail_len: 19>, <TextNode: '\n '>, <ForNode: for tn in top_products, tail_len: 7>, <TextNode: '\n '>, <ForNode: for tn in top_products, tail_len: 7>, <TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7f742c8e74c0>, <TextNode: '\n\n\n <!-- <div '>]> |
self | <Block Node: content. Contents: [<TextNode: '\n\n '>]> |
/usr/local/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' ' typeof="schema:Article"\n' ' class="node node-detail node--type-article ' 'node--promoted node--view-mode-full clearfix">\n' ' <div class="article-detail">\n' '\n' ' <div class="related-posts margin-top-30">\n' ' <div class="views-element-container ' 'block block-views block-views-blockrelated-block-block-related-articles"\n' ' ' 'id="block-gavias-sancy-views-block-related-block-block-related-articles">\n' ' <h2 class="block-title"><span>Produk ' 'Harga</span></h2>\n' ' <div class="content block-content">\n' ' <div>\n' ' <div\n' ' ' 'class="js-view-dom-id-0c60393f97ee79d2b1ef65d818c5ede8867bf2b19e6a8883363f835cf1466b8a">\n' ' <div ' 'class="gva-view-grid">\n' ' <div\n' ' ' 'class="lg-block-grid-3 md-block-grid-3 sm-block-grid-2 xs-block-grid-2">\n' ' ') |
bits | ['\n' '\n' '<div id="page-main-content" class="main-content col-xs-12 col-md-9 sright ' 'main_content ">\n' ' \n' '\n' ' <div class="main-content-inner">\n' ' <div class="content-main">\n' ' <div>\n' ' <div id="block-gavias-sancy-content" class="block ' 'block-system block-system-main-block no-title">\n' ' <div class="content block-content">\n' ' <article data-history-node-id="', '', '" role="article" about="', '', '"\n' ' typeof="schema:Article"\n' ' class="node node-detail node--type-article ' 'node--promoted node--view-mode-full clearfix">\n' ' <div class="article-detail">\n' '\n' ' <div class="related-posts margin-top-30">\n' ' <div class="views-element-container ' 'block block-views block-views-blockrelated-block-block-related-articles"\n' ' ' 'id="block-gavias-sancy-views-block-related-block-block-related-articles">\n' ' <h2 class="block-title"><span>Produk ' 'Harga</span></h2>\n' ' <div class="content block-content">\n' ' <div>\n' ' <div\n' ' ' 'class="js-view-dom-id-0c60393f97ee79d2b1ef65d818c5ede8867bf2b19e6a8883363f835cf1466b8a">\n' ' <div ' 'class="gva-view-grid">\n' ' <div\n' ' ' 'class="lg-block-grid-3 md-block-grid-3 sm-block-grid-2 xs-block-grid-2">\n' ' '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <Product: Tas Etnik Mania>, 'product': <Product: Tas Etnik Mania>, 'view': <product.views.PriceDetailFrontView object at 0x7f742c8b3220>, 'products': <QuerySet [<Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>, <Product: Takoyaki Yazan>, <Product: Es Kelapa Yazan>, <Product: Rawon Yazan>, <Product: Macaroni Pedas>, <Product: Abon Ikan Marlin>, <Product: Kopi Lombok Warisan Papuk>, <Product: Pawon Dende>, <Product: Kartika Art Shop>, <Product: Gholik Cukli>, <Product: Heni Hendro>, <Product: Rumah Jahit Kinasih>, <Product: Waidah Mutiara Lombok>, <Product: Tas Etnik Mania>, <Product: Abon Ikan Tunjung Biru>, <Product: Bale Jamur Berkah>, <Product: GEM Pearls>, '...(remaining elements truncated)...']>, 'top_products': <QuerySet [<Product: Kopi Lombok Warisan Papuk>, <Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>]>, 'categories': <QuerySet [<ProductCategory: Makanan>, <ProductCategory: Minuman>, <ProductCategory: Fashion>, <ProductCategory: Kriya Kerajinan>, <ProductCategory: Budidaya>, <ProductCategory: Parfum>, <ProductCategory: Sabun Cair>, <ProductCategory: Diterjen>]>, 'tags': <QuerySet [<ProductTag: Makanan>, <ProductTag: Minuman>, <ProductTag: Kriya Kerajinan>, <ProductTag: Fashion>, <ProductTag: Budidaya>, <ProductTag: Tradisional>, <ProductTag: Sabun Cair>, <ProductTag: Diterjen>, <ProductTag: Parfum>]>, 'meta': <meta.views.Meta object at 0x7f742c8b38e0>}] |
node | <ForNode: for rn in product, tail_len: 19> |
self | [<TextNode: '\n\n<div id="page-main-cont'>, <Variable Node: article.pk>, <TextNode: '" role="article" about="'>, <Variable Node: article.slug>, <TextNode: '"\n '>, <ForNode: for rn in product, tail_len: 19>, <TextNode: '\n '>, <ForNode: for tn in top_products, tail_len: 7>, <TextNode: '\n '>, <ForNode: for tn in top_products, tail_len: 7>, <TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7f742c8e74c0>, <TextNode: '\n\n\n <!-- <div '>] |
/usr/local/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}, {}, {}, {'object': <Product: Tas Etnik Mania>, 'product': <Product: Tas Etnik Mania>, 'view': <product.views.PriceDetailFrontView object at 0x7f742c8b3220>, 'products': <QuerySet [<Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>, <Product: Takoyaki Yazan>, <Product: Es Kelapa Yazan>, <Product: Rawon Yazan>, <Product: Macaroni Pedas>, <Product: Abon Ikan Marlin>, <Product: Kopi Lombok Warisan Papuk>, <Product: Pawon Dende>, <Product: Kartika Art Shop>, <Product: Gholik Cukli>, <Product: Heni Hendro>, <Product: Rumah Jahit Kinasih>, <Product: Waidah Mutiara Lombok>, <Product: Tas Etnik Mania>, <Product: Abon Ikan Tunjung Biru>, <Product: Bale Jamur Berkah>, <Product: GEM Pearls>, '...(remaining elements truncated)...']>, 'top_products': <QuerySet [<Product: Kopi Lombok Warisan Papuk>, <Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>]>, 'categories': <QuerySet [<ProductCategory: Makanan>, <ProductCategory: Minuman>, <ProductCategory: Fashion>, <ProductCategory: Kriya Kerajinan>, <ProductCategory: Budidaya>, <ProductCategory: Parfum>, <ProductCategory: Sabun Cair>, <ProductCategory: Diterjen>]>, 'tags': <QuerySet [<ProductTag: Makanan>, <ProductTag: Minuman>, <ProductTag: Kriya Kerajinan>, <ProductTag: Fashion>, <ProductTag: Budidaya>, <ProductTag: Tradisional>, <ProductTag: Sabun Cair>, <ProductTag: Diterjen>, <ProductTag: Parfum>]>, 'meta': <meta.views.Meta object at 0x7f742c8b38e0>}] |
self | <ForNode: for rn in product, tail_len: 19> |
/usr/local/lib/python3.8/site-packages/django/template/defaulttags.py
, line 167, in render
else:
parentloop = {}
with context.push():
values = self.sequence.resolve(context, ignore_failures=True)
if values is None:
values = []
if not hasattr(values, '__len__'):
values = list(values)…
len_values = len(values)
if len_values < 1:
return self.nodelist_empty.render(context)
nodelist = []
if self.is_reversed:
values = reversed(values)
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'object': <Product: Tas Etnik Mania>, 'product': <Product: Tas Etnik Mania>, 'view': <product.views.PriceDetailFrontView object at 0x7f742c8b3220>, 'products': <QuerySet [<Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>, <Product: Takoyaki Yazan>, <Product: Es Kelapa Yazan>, <Product: Rawon Yazan>, <Product: Macaroni Pedas>, <Product: Abon Ikan Marlin>, <Product: Kopi Lombok Warisan Papuk>, <Product: Pawon Dende>, <Product: Kartika Art Shop>, <Product: Gholik Cukli>, <Product: Heni Hendro>, <Product: Rumah Jahit Kinasih>, <Product: Waidah Mutiara Lombok>, <Product: Tas Etnik Mania>, <Product: Abon Ikan Tunjung Biru>, <Product: Bale Jamur Berkah>, <Product: GEM Pearls>, '...(remaining elements truncated)...']>, 'top_products': <QuerySet [<Product: Kopi Lombok Warisan Papuk>, <Product: Rumah Joglo>, <Product: Roti Bakar Yazan>, <Product: Nasi Belut Yazan>, <Product: Kopi Lombok Yazan>]>, 'categories': <QuerySet [<ProductCategory: Makanan>, <ProductCategory: Minuman>, <ProductCategory: Fashion>, <ProductCategory: Kriya Kerajinan>, <ProductCategory: Budidaya>, <ProductCategory: Parfum>, <ProductCategory: Sabun Cair>, <ProductCategory: Diterjen>]>, 'tags': <QuerySet [<ProductTag: Makanan>, <ProductTag: Minuman>, <ProductTag: Kriya Kerajinan>, <ProductTag: Fashion>, <ProductTag: Budidaya>, <ProductTag: Tradisional>, <ProductTag: Sabun Cair>, <ProductTag: Diterjen>, <ProductTag: Parfum>]>, 'meta': <meta.views.Meta object at 0x7f742c8b38e0>}] |
parentloop | {} |
self | <ForNode: for rn in product, tail_len: 19> |
values | <Product: Tas Etnik Mania> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'tpid.lombokbaratkab.go.id' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '44.213.80.203' |
PATH_INFO | '/product/product-price-front/120000' |
QUERY_STRING | '' |
RAW_URI | '/product/product-price-front/120000' |
REMOTE_ADDR | '172.25.0.1' |
REMOTE_PORT | '40198' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | '0.0.0.0' |
SERVER_PORT | '8017' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SOFTWARE | 'gunicorn/20.0.4' |
gunicorn.socket | <socket.socket fd=9, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.25.0.2', 8017), raddr=('172.25.0.1', 40198)> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f742c8f52b0> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7f742c8f51f0> |
wsgi.input_terminated | True |
wsgi.multiprocess | False |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
wsgi.version | (1, 0) |
tpid_lobar.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | '/app' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CKEDITOR_BROWSE_SHOW_DIRS | True |
CKEDITOR_CONFIGS | {'portal_lobar_config': {'extraPlugins': 'uploadimage,div,autolink,autoembed,embedsemantic,autogrow,widget,lineutils,clipboard,dialog,dialogui,elementspath', 'tabSpaces': 4, 'toolbar': 'YourCustomToolbarConfig', 'toolbar_Basic': [['Source', '-', 'Bold', 'Italic']], 'toolbar_YourCustomToolbarConfig': [{'items': ['Source', '-', 'Save', 'NewPage', 'Preview', 'Print', '-', 'Templates'], 'name': 'document'}, {'items': ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo'], 'name': 'clipboard'}, {'items': ['Find', 'Replace', '-', 'SelectAll'], 'name': 'editing'}, {'items': ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'], 'name': 'forms'}, '/', {'items': ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat'], 'name': 'basicstyles'}, {'items': ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote', 'CreateDiv', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', '-', 'BidiLtr', 'BidiRtl', 'Language'], 'name': 'paragraph'}, {'items': ['Link', 'Unlink', 'Anchor'], 'name': 'links'}, {'items': ['Image', 'Table', 'HorizontalRule', 'Smiley', 'SpecialChar', 'PageBreak', 'Iframe'], 'name': 'insert'}, '/', {'items': ['Styles', 'Format', 'Font', 'FontSize'], 'name': 'styles'}, {'items': ['TextColor', 'BGColor'], 'name': 'colors'}, {'items': ['Maximize', 'ShowBlocks'], 'name': 'tools'}, {'items': ['About'], 'name': 'about'}, '/', {'items': ['Preview', 'Maximize'], 'name': 'yourcustomtools'}]}} |
CKEDITOR_FILENAME_GENERATOR | 'core.utils.get_filename' |
CKEDITOR_IMAGE_BACKEND | 'pillow' |
CKEDITOR_JQUERY_URL | 'https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js' |
CKEDITOR_RESTRICT_BY_USER | True |
CKEDITOR_UPLOAD_PATH | 'ckuploads/' |
CKEDITOR_UPLOAD_SLUGIFY_FILENAME | False |
CORS_ALLOW_ALL_ORIGINS | True |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': 'tpid-lobar-db', 'NAME': 'tpid_lobar_db', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '3317', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'root'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_AUTO_FIELD | 'django.db.models.BigAutoField' |
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 | 'webmaster@localhost' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'localhost' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | '' |
EMAIL_PORT | 25 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | False |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.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 | ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'django_extensions', 'import_export', 'ckeditor', 'ckeditor_uploader', 'embed_video', 'django.contrib.sites', 'django_social_share', 'django_underconstruction', 'widget_tweaks', 'rest_framework', 'corsheaders', 'meta', 'core', 'account', 'home', 'dashboard', 'general', 'article', 'product', 'farming', 'food', 'trading', 'cooperation', 'village', 'marine', 'staple'] |
INTERNAL_IPS | [] |
LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz', 'Algerian Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('ig', 'Igbo'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tg', 'Tajik'), ('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'id' |
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 | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | 'login' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '/app/media' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
META_SITE_PROTOCOL | 'https' |
META_USE_OG_PROPERTIES | True |
META_USE_SCHEMAORG_PROPERTIES | True |
META_USE_SITES | True |
META_USE_TITLE_TAG | True |
META_USE_TWITTER_PROPERTIES | True |
MIDDLEWARE | ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', '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 |
REST_FRAMEWORK | {'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly']} |
ROOT_URLCONF | 'tpid_lobar.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'tpid_lobar.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
STATICFILES_DIRS | ['/app/static'] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/app/static/root' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/templates'], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'core.processors.context_processors.populate_menu']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'Asia/Makassar' |
UNDER_CONSTRUCTION | False |
UNDER_CONSTRUCTION_TEMPLATE | 'django_underconstruction/construction.html' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'tpid_lobar.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.