API error 403: {'error': {'error': 'ERR_DEVICE_DISABLED', 'request': {'method': 'GET', 'params': {'is_public': 'True', 'is_enabled': 'True', 'accesskey': 'm2kt5cpF85X7c85vtqpr', 'timestamp': '2024-03-29T15:07:01Z', 'signature': '1iOp/W2CZ/9x6KmSLtOKs76IV+f5mLxrIKBiKn/7C00=', 'session': 'biDqm6aaIu2DfXov1ioqqpKY7MKeYg=='}}, 'httperror': {'name': 'HTTPForbidden', 'code': 403}, 'message': 'The device is disabled', 'data': {}}}
Request Method: | GET |
---|---|
Request URL: | https://parkpetshop.com/about/pets-we-carry-/fish-/ |
Django Version: | 1.11.22 |
Exception Type: | ApiException |
Exception Value: | API error 403: {'error': {'error': 'ERR_DEVICE_DISABLED', 'request': {'method': 'GET', 'params': {'is_public': 'True', 'is_enabled': 'True', 'accesskey': 'm2kt5cpF85X7c85vtqpr', 'timestamp': '2024-03-29T15:07:01Z', 'signature': '1iOp/W2CZ/9x6KmSLtOKs76IV+f5mLxrIKBiKn/7C00=', 'session': 'biDqm6aaIu2DfXov1ioqqpKY7MKeYg=='}}, 'httperror': {'name': 'HTTPForbidden', 'code': 403}, 'message': 'The device is disabled', 'data': {}}} |
Exception Location: | /virtualenv/lib/python3.6/site-packages/pinogy_available_pets/pos_api.py in _return_json, line 154 |
Python Executable: | /virtualenv/bin/uwsgi |
Python Version: | 3.6.3 |
Python Path: | ['.', '', '/virtualenv/lib/python36.zip', '/virtualenv/lib/python3.6', '/virtualenv/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6', '/virtualenv/lib/python3.6/site-packages', '/virtualenv/lib/python3.6/site-packages/odf', '/virtualenv/lib/python3.6/site-packages/odf', '/virtualenv/lib/python3.6/site-packages/odf', '/virtualenv/lib/python3.6/site-packages/odf', '/virtualenv/lib/python3.6/site-packages/odf', '/virtualenv/lib/python3.6/site-packages/odf', '/virtualenv/lib/python3.6/site-packages/odf'] |
Server time: | Fri, 29 Mar 2024 10:07:01 -0500 |
In template /virtualenv/lib/python3.6/site-packages/pinogy_django_base_ptemplate/templates/pinogy_new_template/pgy-clientweb-rc1.00.barebones.html
, error at line 7
1 | <!DOCTYPE html> |
---|---|
2 | {% load cms_tags sekizai_tags site_config_tags staticfiles kwacros %} |
3 | {% site_config as config %} |
4 | {% page_attribute "page_title" as title %} |
5 | {% page_attribute "meta_description" as description %} |
6 | {% macro title %}{% block title %}{% if dynamic_page_title %}{{ dynamic_page_title }}{% else %}{{ title }}{% endif %}{% endblock %}{% endmacro %} |
7 | {% macro meta_description %}{% block meta_description %}{% if dynamic_page_meta_description %}{{ dynamic_page_meta_description }}{% else %}{{ description }}{% endif %}{% endblock %}{% endmacro %} |
8 | {% macro page_url_with_path %}{% if request.is_secure %}https://{% else %}http://{% endif %}{{request.get_host}}{% page_url request.current_page %}{% endmacro %} |
9 | <html lang="en"> |
10 | <!-- pgy:rc01:0501 --> |
11 | <head> |
12 | {# {% spaceless %}#} |
13 | {# {% page_attribute "page_title" as title %} {# add macro to override from apphook templates #} |
14 | {# {% page_attribute "meta_description" as description %} {# add macro to override from apphook templates #} |
15 | {# {% site_config as config %}#} |
16 | |
17 | {# {% endspaceless %}#} |
/virtualenv/lib/python3.6/site-packages/django/core/handlers/exception.py
in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(get_response))
def inner(request):
try:
response = get_response(request)...
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | ApiException(403, {'error': {'error': 'ERR_DEVICE_DISABLED', 'request': {'method': 'GET', 'params': {'is_public': 'True', 'is_enabled': 'True', 'accesskey': 'm2kt5cpF85X7c85vtqpr', 'timestamp': '2024-03-29T15:07:01Z', 'signature': '1iOp/W2CZ/9x6KmSLtOKs76IV+f5mLxrIKBiKn/7C00=', 'session': 'biDqm6aaIu2DfXov1ioqqpKY7MKeYg=='}}, 'httperror': {'name': 'HTTPForbidden', 'code': 403}, 'message': 'The device is disabled', 'data': {}}}) |
get_response | <bound method BaseHandler._legacy_get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7fdad60d03c8>> |
request | <WSGIRequest: GET '/about/pets-we-carry-/fish-/'> |
/virtualenv/lib/python3.6/site-packages/django/core/handlers/base.py
in _legacy_get_response
# Apply request middleware
for middleware_method in self._request_middleware:
response = middleware_method(request)
if response:
break
if response is None:
response = self._get_response(request)...
return response
Variable | Value |
---|---|
middleware_method | <bound method ToolbarMiddleware.process_request of <cms.middleware.toolbar.ToolbarMiddleware object at 0x7fdad5de2160>> |
request | <WSGIRequest: GET '/about/pets-we-carry-/fish-/'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fdad60d03c8> |
/virtualenv/lib/python3.6/site-packages/django/core/handlers/base.py
in _get_response
"HttpResponse object. It returned None instead."
% (middleware_method.__self__.__class__.__name__)
)
try:
response = response.render()
except Exception as e:
response = self.process_exception_by_middleware(e, request)...
return response
def process_exception_by_middleware(self, exception, request):
"""
Pass the exception to the exception middleware. If no middleware
Variable | Value |
---|---|
callback | <function details at 0x7fdad5396268> |
callback_args | () |
callback_kwargs | {'slug': 'about/pets-we-carry-/fish-'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fdad5f5cef0>> |
request | <WSGIRequest: GET '/about/pets-we-carry-/fish-/'> |
resolver | <RegexURLResolver 'urls' (None:None) ^/> |
resolver_match | ResolverMatch(func=cms.views.details, args=(), kwargs={'slug': 'about/pets-we-carry-/fish-'}, url_name=pages-details-by-slug, app_names=[], namespaces=[]) |
response | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fdad60d03c8> |
wrapped_callback | <function details at 0x7fdad5396268> |
/virtualenv/lib/python3.6/site-packages/django/core/handlers/base.py
in _get_response
raise ValueError(
"%s.process_template_response didn't return an "
"HttpResponse object. It returned None instead."
% (middleware_method.__self__.__class__.__name__)
)
try:
response = response.render()...
except Exception as e:
response = self.process_exception_by_middleware(e, request)
return response
def process_exception_by_middleware(self, exception, request):
Variable | Value |
---|---|
callback | <function details at 0x7fdad5396268> |
callback_args | () |
callback_kwargs | {'slug': 'about/pets-we-carry-/fish-'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fdad5f5cef0>> |
request | <WSGIRequest: GET '/about/pets-we-carry-/fish-/'> |
resolver | <RegexURLResolver 'urls' (None:None) ^/> |
resolver_match | ResolverMatch(func=cms.views.details, args=(), kwargs={'slug': 'about/pets-we-carry-/fish-'}, url_name=pages-details-by-slug, app_names=[], namespaces=[]) |
response | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fdad60d03c8> |
wrapped_callback | <function details at 0x7fdad5396268> |
/virtualenv/lib/python3.6/site-packages/django/template/response.py
in render
If the content has already been rendered, this is a no-op.
Returns the baked response instance.
"""
retval = self
if not self._is_rendered:
self.content = self.rendered_content...
for post_callback in self._post_render_callbacks:
newretval = post_callback(retval)
if newretval is not None:
retval = newretval
return retval
Variable | Value |
---|---|
retval | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
/virtualenv/lib/python3.6/site-packages/django/template/response.py
in rendered_content
This *does not* set the final content of the response. To set the
response content, you must either call render(), or set the
content explicitly using the value of this property.
"""
template = self.resolve_template(self.template_name)
context = self.resolve_context(self.context_data)
content = template.render(context, self._request)...
return content
def add_post_render_callback(self, callback):
"""Adds a new post-rendering callback.
If the response has already been rendered,
Variable | Value |
---|---|
context | {'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'lang': 'en'} |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
template | <django.template.backends.django.Template object at 0x7fdad4c83198> |
/virtualenv/lib/python3.6/site-packages/django/template/backends/django.py
in render
@property
def origin(self):
return self.template.origin
def render(self, context=None, request=None):
context = make_context(context, request, autoescape=self.backend.engine.autoescape)
try:
return self.template.render(context)...
except TemplateDoesNotExist as exc:
reraise(exc, self.backend)
def copy_exception(exc, backend=None):
"""
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
request | <WSGIRequest: GET '/about/pets-we-carry-/fish-/'> |
self | <django.template.backends.django.Template object at 0x7fdad4c83198> |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)...
else:
return self._render(context)
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
self | <django.template.base.Template object at 0x7fdad537bc50> |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
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}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
self | <django.template.base.Template object at 0x7fdad537bc50> |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
node | <ExtendsNode: extends 'pinogy_new_template/pgy-clientweb-rc1.00.barebones.html'> |
self | [<ExtendsNode: extends 'pinogy_new_template/pgy-clientweb-rc1.00.barebones.html'>] |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
self | <ExtendsNode: extends 'pinogy_new_template/pgy-clientweb-rc1.00.barebones.html'> |
/virtualenv/lib/python3.6/site-packages/django/template/loader_tags.py
in render
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)...
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x7fdad4e22470> |
blocks | {'body_classes': <Block Node: body_classes. Contents: [<TextNode: 'base body-base_page-'>, <Variable Node: request.current_page.id>, <TextNode: ' '>, <IfNode>]>, 'content': <Block Node: content. Contents: []>, 'meta_description': <Block Node: meta_description. Contents: [<IfNode>]>, 'title': <Block Node: title. Contents: [<IfNode>]>} |
compiled_parent | <django.template.base.Template object at 0x7fdad5106d68> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
node | <django.template.defaulttags.LoadNode object at 0x7fdad4f0a5f8> |
self | <ExtendsNode: extends 'pinogy_new_template/pgy-clientweb-rc1.00.barebones.html'> |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
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}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
self | <django.template.base.Template object at 0x7fdad5106d68> |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | ('" />\n' ' <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700" ' 'rel="stylesheet" />\n' ' <link rel="stylesheet" ' 'href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" ' 'integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" ' 'crossorigin="anonymous">\n' ' ') |
bits | ['<!DOCTYPE html>\n', '', '\n', '', '\n', '', '\n', '', '\n', '', '\n', '', '\n', '', '\n<html lang="en">\n<!-- pgy:rc01:0501 -->\n<head>\n', '\n', '\n', '\n', '\n\n', '\n' ' <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n' ' <meta http-equiv="X-UA-Compatible" content="IE=edge">\n' ' <meta name="robots" content="index">\n' ' <meta name="robots" content="follow">\n' ' <link rel="canonical" href="', 'https://parkpetshop.com/about/pets-we-carry-/fish-/', '"/>\n' ' <meta name="viewport" content="width=device-width, initial-scale=1, ' 'minimum-scale=1.0, shrink-to-fit=no">\n' ' <title>', 'Information about Park Pet Shop's Fish - Park Pet Shop', '</title>\n <meta name="description" content="', 'Park Pet Shop is proud to carry a selection of both, freshwater and ' 'saltwater fish! Plus the supplies you will need to have your aquariums in ' 'balance!', '">', '<link rel="shortcut icon" type="image/x-icon" ' 'href="/media/filer_public/fb/0d/fb0dc6de-279e-467f-b844-d2825668b545/parkpetshop-favicon2.png" ' '/>', '<link rel="apple-touch-icon" href="', '/static/pinogy_new_template/assets/img/apple-touch-icon-precomposed.png', '" />\n' ' <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700" ' 'rel="stylesheet" />\n' ' <link rel="stylesheet" ' 'href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" ' 'integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" ' 'crossorigin="anonymous">\n' ' '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
node | <Tag: render_block> |
self | [<TextNode: '<!DOCTYPE html>\n'>, <django.template.defaulttags.LoadNode object at 0x7fdad4f0a5f8>, <TextNode: '\n'>, <Tag: site_config>, <TextNode: '\n'>, <Tag: page_attribute>, <TextNode: '\n'>, <Tag: page_attribute>, <TextNode: '\n'>, <pinogy_django_base_ptemplate.templatetags.kwacros.DefineMacroNode object at 0x7fdad520c8d0>, <TextNode: '\n'>, <pinogy_django_base_ptemplate.templatetags.kwacros.DefineMacroNode object at 0x7fdad520c710>, <TextNode: '\n'>, <pinogy_django_base_ptemplate.templatetags.kwacros.DefineMacroNode object at 0x7fdad5080860>, <TextNode: '\n<html lang="en">\n<!-- pg'>, <TextNode: '\n'>, <TextNode: '\n'>, <TextNode: '\n'>, <TextNode: '\n\n'>, <TextNode: '\n <meta http-equiv="Cont'>, <pinogy_django_base_ptemplate.templatetags.kwacros.UseMacroNode object at 0x7fdad508d470>, <TextNode: '"/>\n <meta name="viewpor'>, <pinogy_django_base_ptemplate.templatetags.kwacros.UseMacroNode object at 0x7fdad50381d0>, <TextNode: '</title>\n <meta name="de'>, <pinogy_django_base_ptemplate.templatetags.kwacros.UseMacroNode object at 0x7fdad5038ba8>, <TextNode: '">'>, <django.template.defaulttags.SpacelessNode object at 0x7fdad5080d68>, <TextNode: '<link rel="apple-touch-ic'>, <django.templatetags.static.StaticNode object at 0x7fdad5038320>, <TextNode: '" />\n <link href="https:'>, <Tag: render_block>] |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/classytags/core.py
in render
"""
INTERNAL method to prepare rendering
Usually you should not override this method, but rather use render_tag.
"""
items = self.kwargs.items()
kwargs = dict([(key, value.resolve(context)) for key, value in items])
kwargs.update(self.blocks)
return self.render_tag(context, **kwargs)...
def render_tag(self, context, **kwargs):
"""
The method you should override in your custom tags
"""
raise NotImplementedError
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
items | dict_items([('name', <classytags.values.StringValue object at 0x7fdad5038748>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'bootstrap3css', 'nodelist': [<TextNode: '\n <link rel="stylesheet"'>, <django.templatetags.static.StaticNode object at 0x7fdad50387b8>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad5038470>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad50382b0>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad5038eb8>, <TextNode: '">\n '>, <Tag: render_block>], 'postprocessor': None} |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/sekizai/templatetags/sekizai_tags.py
in render_tag
Argument('postprocessor', required=False, default=None, resolve=False),
parser_class=SekizaiParser,
)
def render_tag(self, context, name, postprocessor, nodelist):
if not validate_context(context):
return nodelist.render(context)
rendered_contents = nodelist.render(context)...
varname = get_varname()
data = '\n'.join(context[varname][name])
if postprocessor:
func = import_processor(postprocessor)
data = func(context, data, name)
return '%s\n%s' % (data, rendered_contents)
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
name | 'bootstrap3css' |
nodelist | [<TextNode: '\n <link rel="stylesheet"'>, <django.templatetags.static.StaticNode object at 0x7fdad50387b8>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad5038470>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad50382b0>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad5038eb8>, <TextNode: '">\n '>, <Tag: render_block>] |
postprocessor | None |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '">\n ' |
bits | ['\n' ' <link rel="stylesheet" ' 'href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" ' 'integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" ' 'crossorigin="anonymous">\n' ' <link rel="stylesheet" ' 'href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.0/animate.min.css" ' 'integrity="sha256-HtCCUh9Hkh//8U1OwcbD8epVEUdBvuI8wj1KtqMhNkI=" ' 'crossorigin="anonymous" />\n' ' <link rel="stylesheet" ' 'href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.carousel.min.css" ' 'integrity="sha256-UhQQ4fxEeABh4JrcmAJ1+16id/1dnlOEVCFOxDef9Lw=" ' 'crossorigin="anonymous" />\n' ' <link rel="stylesheet" ' 'href="https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css" ' 'integrity="sha256-PZLhE6wwMbg4AB3d35ZdBF9HD/dI/y4RazA3iRDurss=" ' 'crossorigin="anonymous" />\n' ' <link rel="stylesheet" href="', '/static/pinogy_new_template/css/theme.css', '">\n <link rel="stylesheet" href="', '/static/pinogy_new_template/css/theme-elements.css', '">\n <link rel="stylesheet" href="', '/static/pinogy_new_template/css/default.css', '">\n <link rel="stylesheet" href="', '/static/pinogy_new_template/css/pinogy.css', '">\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
node | <Tag: render_block> |
self | [<TextNode: '\n <link rel="stylesheet"'>, <django.templatetags.static.StaticNode object at 0x7fdad50387b8>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad5038470>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad50382b0>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad5038eb8>, <TextNode: '">\n '>, <Tag: render_block>] |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/classytags/core.py
in render
"""
INTERNAL method to prepare rendering
Usually you should not override this method, but rather use render_tag.
"""
items = self.kwargs.items()
kwargs = dict([(key, value.resolve(context)) for key, value in items])
kwargs.update(self.blocks)
return self.render_tag(context, **kwargs)...
def render_tag(self, context, **kwargs):
"""
The method you should override in your custom tags
"""
raise NotImplementedError
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
items | dict_items([('name', <classytags.values.StringValue object at 0x7fdad5038c88>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'css', 'nodelist': [<TextNode: ' '>, <django.template.loader_tags.IncludeNode object at 0x7fdad50f64e0>, <TextNode: '\n '>, <Tag: render_block>], 'postprocessor': None} |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/sekizai/templatetags/sekizai_tags.py
in render_tag
Argument('postprocessor', required=False, default=None, resolve=False),
parser_class=SekizaiParser,
)
def render_tag(self, context, name, postprocessor, nodelist):
if not validate_context(context):
return nodelist.render(context)
rendered_contents = nodelist.render(context)...
varname = get_varname()
data = '\n'.join(context[varname][name])
if postprocessor:
func = import_processor(postprocessor)
data = func(context, data, name)
return '%s\n%s' % (data, rendered_contents)
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
name | 'css' |
nodelist | [<TextNode: ' '>, <django.template.loader_tags.IncludeNode object at 0x7fdad50f64e0>, <TextNode: '\n '>, <Tag: render_block>] |
postprocessor | None |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n ' |
bits | [' ', '\n<link rel="stylesheet" href=\'/media/bpt_media/colors_io4emE.css\'>\n', '\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
node | <Tag: render_block> |
self | [<TextNode: ' '>, <django.template.loader_tags.IncludeNode object at 0x7fdad50f64e0>, <TextNode: '\n '>, <Tag: render_block>] |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/classytags/core.py
in render
"""
INTERNAL method to prepare rendering
Usually you should not override this method, but rather use render_tag.
"""
items = self.kwargs.items()
kwargs = dict([(key, value.resolve(context)) for key, value in items])
kwargs.update(self.blocks)
return self.render_tag(context, **kwargs)...
def render_tag(self, context, **kwargs):
"""
The method you should override in your custom tags
"""
raise NotImplementedError
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
items | dict_items([('name', <classytags.values.StringValue object at 0x7fdad50f6ef0>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'colors', 'nodelist': [<TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7fdad50f6a58>, <TextNode: '\n '>, <Tag: render_block>], 'postprocessor': None} |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/sekizai/templatetags/sekizai_tags.py
in render_tag
Argument('postprocessor', required=False, default=None, resolve=False),
parser_class=SekizaiParser,
)
def render_tag(self, context, name, postprocessor, nodelist):
if not validate_context(context):
return nodelist.render(context)
rendered_contents = nodelist.render(context)...
varname = get_varname()
data = '\n'.join(context[varname][name])
if postprocessor:
func = import_processor(postprocessor)
data = func(context, data, name)
return '%s\n%s' % (data, rendered_contents)
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
name | 'colors' |
nodelist | [<TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7fdad50f6a58>, <TextNode: '\n '>, <Tag: render_block>] |
postprocessor | None |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n ' |
bits | ['\n ', '\n' '\n' '\n' '<style>\n' '\n' '\n' ' html, body {\n' ' font-family: "Open Sans", Arial, sans-serif;\n' ' }\n' '\n' ' html h1,\n' ' html h2,\n' ' html h3,\n' ' html h4,\n' ' html h5,\n' ' html h6 {\n' ' font-family: "Open Sans", Arial, sans-serif;\n' ' }\n' '\n' ' html .heading h1,\n' ' html .heading h2,\n' ' html .heading h3,\n' ' html .heading h4,\n' ' html .heading h5,\n' ' html .heading h6 {\n' ' font-family: "Open Sans", Arial, sans-serif;\n' ' }\n' '\n' ' html .section h1,\n' ' html .section h2,\n' ' html .section h3,\n' ' html .section h4,\n' ' html .section h5,\n' ' html .section h6 {\n' ' font-family: "Open Sans", Arial, sans-serif;\n' ' }\n' '\n' '\n' '</style>', '\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
node | <Tag: render_block> |
self | [<TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7fdad50f6a58>, <TextNode: '\n '>, <Tag: render_block>] |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/classytags/core.py
in render
"""
INTERNAL method to prepare rendering
Usually you should not override this method, but rather use render_tag.
"""
items = self.kwargs.items()
kwargs = dict([(key, value.resolve(context)) for key, value in items])
kwargs.update(self.blocks)
return self.render_tag(context, **kwargs)...
def render_tag(self, context, **kwargs):
"""
The method you should override in your custom tags
"""
raise NotImplementedError
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
items | dict_items([('name', <classytags.values.StringValue object at 0x7fdad50f6400>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'fonts', 'nodelist': [<TextNode: ' <script src="'>, <django.templatetags.static.StaticNode object at 0x7fdad50f6080>, <TextNode: '"></script>\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <Tag: render_block>], 'postprocessor': None} |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/sekizai/templatetags/sekizai_tags.py
in render_tag
Argument('postprocessor', required=False, default=None, resolve=False),
parser_class=SekizaiParser,
)
def render_tag(self, context, name, postprocessor, nodelist):
if not validate_context(context):
return nodelist.render(context)
rendered_contents = nodelist.render(context)...
varname = get_varname()
data = '\n'.join(context[varname][name])
if postprocessor:
func = import_processor(postprocessor)
data = func(context, data, name)
return '%s\n%s' % (data, rendered_contents)
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
name | 'fonts' |
nodelist | [<TextNode: ' <script src="'>, <django.templatetags.static.StaticNode object at 0x7fdad50f6080>, <TextNode: '"></script>\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <Tag: render_block>] |
postprocessor | None |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n ' |
bits | [' <script src="', '/static/pinogy_new_template/vendor/modernizr/modernizr.min.js', '"></script>\n ', '', '\n ', '', '\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
node | <Tag: render_block> |
self | [<TextNode: ' <script src="'>, <django.templatetags.static.StaticNode object at 0x7fdad50f6080>, <TextNode: '"></script>\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <Tag: render_block>] |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/classytags/core.py
in render
"""
INTERNAL method to prepare rendering
Usually you should not override this method, but rather use render_tag.
"""
items = self.kwargs.items()
kwargs = dict([(key, value.resolve(context)) for key, value in items])
kwargs.update(self.blocks)
return self.render_tag(context, **kwargs)...
def render_tag(self, context, **kwargs):
"""
The method you should override in your custom tags
"""
raise NotImplementedError
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
items | dict_items([('name', <classytags.values.StringValue object at 0x7fdad50f6be0>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'opengraph', 'nodelist': [<TextNode: '\n '>, <Tag: render_block>], 'postprocessor': None} |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/sekizai/templatetags/sekizai_tags.py
in render_tag
Argument('postprocessor', required=False, default=None, resolve=False),
parser_class=SekizaiParser,
)
def render_tag(self, context, name, postprocessor, nodelist):
if not validate_context(context):
return nodelist.render(context)
rendered_contents = nodelist.render(context)...
varname = get_varname()
data = '\n'.join(context[varname][name])
if postprocessor:
func = import_processor(postprocessor)
data = func(context, data, name)
return '%s\n%s' % (data, rendered_contents)
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
name | 'opengraph' |
nodelist | [<TextNode: '\n '>, <Tag: render_block>] |
postprocessor | None |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n ' |
bits | ['\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
node | <Tag: render_block> |
self | [<TextNode: '\n '>, <Tag: render_block>] |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/classytags/core.py
in render
"""
INTERNAL method to prepare rendering
Usually you should not override this method, but rather use render_tag.
"""
items = self.kwargs.items()
kwargs = dict([(key, value.resolve(context)) for key, value in items])
kwargs.update(self.blocks)
return self.render_tag(context, **kwargs)...
def render_tag(self, context, **kwargs):
"""
The method you should override in your custom tags
"""
raise NotImplementedError
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
items | dict_items([('name', <classytags.values.StringValue object at 0x7fdad50f6a90>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'twitter', 'nodelist': [<TextNode: '\n '>, <Tag: render_block>], 'postprocessor': None} |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/sekizai/templatetags/sekizai_tags.py
in render_tag
Argument('postprocessor', required=False, default=None, resolve=False),
parser_class=SekizaiParser,
)
def render_tag(self, context, name, postprocessor, nodelist):
if not validate_context(context):
return nodelist.render(context)
rendered_contents = nodelist.render(context)...
varname = get_varname()
data = '\n'.join(context[varname][name])
if postprocessor:
func = import_processor(postprocessor)
data = func(context, data, name)
return '%s\n%s' % (data, rendered_contents)
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
name | 'twitter' |
nodelist | [<TextNode: '\n '>, <Tag: render_block>] |
postprocessor | None |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n ' |
bits | ['\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
node | <Tag: render_block> |
self | [<TextNode: '\n '>, <Tag: render_block>] |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/classytags/core.py
in render
"""
INTERNAL method to prepare rendering
Usually you should not override this method, but rather use render_tag.
"""
items = self.kwargs.items()
kwargs = dict([(key, value.resolve(context)) for key, value in items])
kwargs.update(self.blocks)
return self.render_tag(context, **kwargs)...
def render_tag(self, context, **kwargs):
"""
The method you should override in your custom tags
"""
raise NotImplementedError
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
items | dict_items([('name', <classytags.values.StringValue object at 0x7fdad501ec88>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'head_structured_data', 'nodelist': [<TextNode: '\n <script src="'>, <django.templatetags.static.StaticNode object at 0x7fdad501ee48>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad501ee10>, <TextNode: '"></script>\n\n '>, <WithNode>, <TextNode: '\n\n '>, <Variable Node: config.head_tag_block|safe>, <TextNode: '\n</head>\n<body class="'>, <Block Node: body_classes. Contents: [<TextNode: 'base body-base_page-'>, <Variable Node: request.current_page.id>, <TextNode: ' '>, <IfNode>]>, <TextNode: '">\n '>, <Tag: cms_toolbar>], 'postprocessor': None} |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/sekizai/templatetags/sekizai_tags.py
in render_tag
Argument('postprocessor', required=False, default=None, resolve=False),
parser_class=SekizaiParser,
)
def render_tag(self, context, name, postprocessor, nodelist):
if not validate_context(context):
return nodelist.render(context)
rendered_contents = nodelist.render(context)...
varname = get_varname()
data = '\n'.join(context[varname][name])
if postprocessor:
func = import_processor(postprocessor)
data = func(context, data, name)
return '%s\n%s' % (data, rendered_contents)
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
name | 'head_structured_data' |
nodelist | [<TextNode: '\n <script src="'>, <django.templatetags.static.StaticNode object at 0x7fdad501ee48>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad501ee10>, <TextNode: '"></script>\n\n '>, <WithNode>, <TextNode: '\n\n '>, <Variable Node: config.head_tag_block|safe>, <TextNode: '\n</head>\n<body class="'>, <Block Node: body_classes. Contents: [<TextNode: 'base body-base_page-'>, <Variable Node: request.current_page.id>, <TextNode: ' '>, <IfNode>]>, <TextNode: '">\n '>, <Tag: cms_toolbar>] |
postprocessor | None |
self | <Tag: render_block> |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '">\n ' |
bits | ['\n <script src="', '/static/vendor/jquery/jquery.min.js', '"></script>\n <script src="', '/static/pinogy_new_template/js/top-head-functions.js', '"></script>\n\n ', '\n \n ', '\n\n ', '<!-- Google Tag Manager -->\r\n' "<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\r\n" "new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\r\n" "j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\r\n" "'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\r\n" "})(window,document,'script','dataLayer','GTM-TBZNNW');</script>\r\n" '<!-- End Google Tag Manager -->', '\n</head>\n<body class="', 'base body-base_page-44 block-content', '">\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
node | <Tag: cms_toolbar> |
self | [<TextNode: '\n <script src="'>, <django.templatetags.static.StaticNode object at 0x7fdad501ee48>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad501ee10>, <TextNode: '"></script>\n\n '>, <WithNode>, <TextNode: '\n\n '>, <Variable Node: config.head_tag_block|safe>, <TextNode: '\n</head>\n<body class="'>, <Block Node: body_classes. Contents: [<TextNode: 'base body-base_page-'>, <Variable Node: request.current_page.id>, <TextNode: ' '>, <IfNode>]>, <TextNode: '">\n '>, <Tag: cms_toolbar>] |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
self | <Tag: cms_toolbar> |
/virtualenv/lib/python3.6/site-packages/classytags/core.py
in render
"""
INTERNAL method to prepare rendering
Usually you should not override this method, but rather use render_tag.
"""
items = self.kwargs.items()
kwargs = dict([(key, value.resolve(context)) for key, value in items])
kwargs.update(self.blocks)
return self.render_tag(context, **kwargs)...
def render_tag(self, context, **kwargs):
"""
The method you should override in your custom tags
"""
raise NotImplementedError
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
items | dict_items([('name', <TemplateConstant: None>)]) |
kwargs | {'name': None, 'nodelist': [<Variable Node: config.header_block|safe>, <Variable Node: config.body_block|safe>, <Block Node: content. Contents: []>, <TextNode: '\n <script src="https://c'>, <django.templatetags.static.StaticNode object at 0x7fdad5039e48>, <TextNode: '"></script>\n <script def'>, <django.templatetags.static.StaticNode object at 0x7fdad5039d68>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad5039208>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad5039278>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad5039438>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad50395c0>, <TextNode: '" ></script>\n '>, <Tag: render_block>]} |
self | <Tag: cms_toolbar> |
/virtualenv/lib/python3.6/site-packages/cms/templatetags/cms_tags.py
in render_tag
return nodelist.render(context)
toolbar = get_toolbar_from_request(request)
if toolbar and toolbar.show_toolbar:
toolbar.init_toolbar(request)
return toolbar.render_with_structure(context, nodelist)
return nodelist.render(context)...
class CMSEditableObject(InclusionTag):
"""
Templatetag that links a content extracted from a generic django model
to the model admin changeform.
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
name | None |
nodelist | [<Variable Node: config.header_block|safe>, <Variable Node: config.body_block|safe>, <Block Node: content. Contents: []>, <TextNode: '\n <script src="https://c'>, <django.templatetags.static.StaticNode object at 0x7fdad5039e48>, <TextNode: '"></script>\n <script def'>, <django.templatetags.static.StaticNode object at 0x7fdad5039d68>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad5039208>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad5039278>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad5039438>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad50395c0>, <TextNode: '" ></script>\n '>, <Tag: render_block>] |
request | <WSGIRequest: GET '/about/pets-we-carry-/fish-/'> |
self | <Tag: cms_toolbar> |
toolbar | <cms.toolbar.toolbar.CMSToolbar object at 0x7fdad532d7f0> |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | ('<!-- Google Tag Manager (noscript) -->\r\n' '<noscript><iframe ' 'src="https://www.googletagmanager.com/ns.html?id=GTM-TBZNNW"\r\n' 'height="0" width="0" ' 'style="display:none;visibility:hidden"></iframe></noscript>\r\n' '<!-- End Google Tag Manager (noscript) -->\r\n' '\r\n' '<script type="text/javascript">\r\n' ' window._mfq = window._mfq || [];\r\n' ' (function() {\r\n' ' var mf = document.createElement("script");\r\n' ' mf.type = "text/javascript"; mf.async = true;\r\n' ' mf.src = ' '"//cdn.mouseflow.com/projects/6a1da6e7-039c-4b33-83e1-b6ea1366a431.js";\r\n' ' document.getElementsByTagName("head")[0].appendChild(mf);\r\n' ' })();\r\n' '</script>') |
bits | ['', '<!-- Google Tag Manager (noscript) -->\r\n' '<noscript><iframe ' 'src="https://www.googletagmanager.com/ns.html?id=GTM-TBZNNW"\r\n' 'height="0" width="0" ' 'style="display:none;visibility:hidden"></iframe></noscript>\r\n' '<!-- End Google Tag Manager (noscript) -->\r\n' '\r\n' '<script type="text/javascript">\r\n' ' window._mfq = window._mfq || [];\r\n' ' (function() {\r\n' ' var mf = document.createElement("script");\r\n' ' mf.type = "text/javascript"; mf.async = true;\r\n' ' mf.src = ' '"//cdn.mouseflow.com/projects/6a1da6e7-039c-4b33-83e1-b6ea1366a431.js";\r\n' ' document.getElementsByTagName("head")[0].appendChild(mf);\r\n' ' })();\r\n' '</script>'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
node | <Block Node: content. Contents: []> |
self | [<Variable Node: config.header_block|safe>, <Variable Node: config.body_block|safe>, <Block Node: content. Contents: []>, <TextNode: '\n <script src="https://c'>, <django.templatetags.static.StaticNode object at 0x7fdad5039e48>, <TextNode: '"></script>\n <script def'>, <django.templatetags.static.StaticNode object at 0x7fdad5039d68>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad5039208>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad5039278>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad5039438>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad50395c0>, <TextNode: '" ></script>\n '>, <Tag: render_block>] |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
self | <Block Node: content. Contents: []> |
/virtualenv/lib/python3.6/site-packages/django/template/loader_tags.py
in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
block.context = context
context['block'] = block
result = block.nodelist.render(context)...
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
block | <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7fdad4e22470> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
push | <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]> |
self | <Block Node: content. Contents: []> |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n ' |
bits | ['\n <div class="body">\n ', '', '\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
node | <Tag: static_placeholder> |
self | [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>] |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
self | <Tag: static_placeholder> |
/virtualenv/lib/python3.6/site-packages/classytags/core.py
in render
"""
INTERNAL method to prepare rendering
Usually you should not override this method, but rather use render_tag.
"""
items = self.kwargs.items()
kwargs = dict([(key, value.resolve(context)) for key, value in items])
kwargs.update(self.blocks)
return self.render_tag(context, **kwargs)...
def render_tag(self, context, **kwargs):
"""
The method you should override in your custom tags
"""
raise NotImplementedError
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
items | dict_items([('code', <classytags.values.StringValue object at 0x7fdad5082940>), ('extra_bits', <TemplateConstant: []>)]) |
kwargs | {'code': 'Standard Header', 'extra_bits': []} |
self | <Tag: static_placeholder> |
/virtualenv/lib/python3.6/site-packages/cms/templatetags/cms_tags.py
in render_tag
else:
kwargs['site_id__isnull'] = True
static_placeholder = StaticPlaceholder.objects.get_or_create(**kwargs)[0]
content = renderer.render_static_placeholder(
static_placeholder,
context=context,
nodelist=nodelist,...
)
return content
def get_declaration(self, context):
flags = self.kwargs['extra_bits']
slot = self.kwargs['code'].resolve(context)
Variable | Value |
---|---|
code | 'Standard Header' |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
extra_bits | [] |
kwargs | {'code': 'Standard Header', 'defaults': {'creation_method': 'template'}, 'site_id__isnull': True} |
nodelist | None |
renderer | <cms.plugin_rendering.ContentRenderer object at 0x7fdad5106898> |
request | <WSGIRequest: GET '/about/pets-we-carry-/fish-/'> |
self | <Tag: static_placeholder> |
static_placeholder | <StaticPlaceholder: Standard Header> |
toolbar | <cms.toolbar.toolbar.CMSToolbar object at 0x7fdad532d7f0> |
/virtualenv/lib/python3.6/site-packages/cms/plugin_rendering.py
in render_static_placeholder
placeholder.is_static = True
content = self.render_placeholder(
placeholder,
context=context,
editable=editable,
use_cache=use_cache,
nodelist=nodelist,...
)
if static_placeholder.pk not in self._rendered_static_placeholders:
# First time this static placeholder is rendered
self._rendered_static_placeholders[static_placeholder.pk] = static_placeholder
return content
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
editable | False |
nodelist | None |
placeholder | <cms.models.placeholdermodel.Placeholder id=7 slot='Standard Header' object at 0x7fdad50af6d8> |
self | <cms.plugin_rendering.ContentRenderer object at 0x7fdad5106898> |
static_placeholder | <StaticPlaceholder: Standard Header> |
use_cache | True |
user | <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fdad532de80>> |
/virtualenv/lib/python3.6/site-packages/cms/plugin_rendering.py
in render_placeholder
plugin_content = self.render_plugins(
placeholder,
language=language,
context=context,
editable=editable,
template=template,
)
placeholder_content = ''.join(plugin_content)...
if not placeholder_content and nodelist:
# should be nodelist from a template
placeholder_content = nodelist.render(context)
if use_cache:
Variable | Value |
---|---|
Watcher | <class 'sekizai.helpers.Watcher'> |
cached_value | None |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
editable | False |
language | 'en' |
nodelist | None |
page | None |
placeholder | <cms.models.placeholdermodel.Placeholder id=7 slot='Standard Header' object at 0x7fdad50af6d8> |
plugin_content | <generator object ContentRenderer.render_plugins at 0x7fdad4fd8eb8> |
self | <cms.plugin_rendering.ContentRenderer object at 0x7fdad5106898> |
template | None |
use_cache | True |
watcher | <sekizai.helpers.Watcher object at 0x7fdad50f6c50> |
width | None |
/virtualenv/lib/python3.6/site-packages/cms/plugin_rendering.py
in render_plugins
placeholder=placeholder,
template=template,
language=language,
)
for plugin in plugins:
plugin._placeholder_cache = placeholder
yield self.render_plugin(plugin, context, placeholder, editable)...
def _get_cached_placeholder_content(self, placeholder, language):
"""
Returns a dictionary mapping placeholder content and sekizai data.
Returns None if no cache is present.
"""
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
editable | False |
language | 'en' |
placeholder | <cms.models.placeholdermodel.Placeholder id=7 slot='Standard Header' object at 0x7fdad50af6d8> |
plugin | <cms.models.pluginmodel.CMSPlugin id=14948 plugin_type='StandardHeaderPlugin' object at 0x7fdad4fb8a20> |
plugins | [<cms.models.pluginmodel.CMSPlugin id=14948 plugin_type='StandardHeaderPlugin' object at 0x7fdad4fb8a20>] |
self | <cms.plugin_rendering.ContentRenderer object at 0x7fdad5106898> |
template | None |
/virtualenv/lib/python3.6/site-packages/cms/plugin_rendering.py
in render_plugin
# we'd better pass a flat dict to template.render
# as plugin.render can return pretty much any kind of context / dictionary
# we'd better flatten it and force to a Context object
# flattening the context means that template must be an engine-specific template object
# which is guaranteed by get_cached_template if the template returned by
# plugin._get_render_template is either a string or an engine-specific template object
context = PluginContext(context, instance, placeholder)
context = plugin.render(context, instance, placeholder.slot)...
context = flatten_context(context)
template = plugin._get_render_template(context, instance, placeholder)
template = self.templates.get_cached_template(template)
content = template.render(context)
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: <function csrf.<locals>._get_val at 0x7fdad4fca840>>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fdad532de80>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fdad4d228d0>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fdad525f0b8>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'LANGUAGES': [('en', 'English')], 'LANGUAGE_CODE': 'en', 'LANGUAGE_BIDI': False, 'request': <WSGIRequest: GET '/about/pets-we-carry-/fish-/'>, 'MEDIA_URL': '/media/', 'TIME_ZONE': 'America/Chicago', 'STATIC_URL': '/static/', 'debug': True, 'SEKIZAI_CONTENT_HOLDER': defaultdict(<class 'sekizai.data.UniqueSequence'>, {}), 'cms_menu_renderer': <menus.menu_pool.MenuRenderer object at 0x7fdad5033898>, 'CMS_MEDIA_URL': '/media/cms/', 'CMS_TEMPLATE': <function cms_settings.<locals>.<lambda> at 0x7fdad4ff3598>, 'ALDRYN_BOILERPLATE_NAME': 'blank', 'TEMPLATE_API_REGISTRY': <aldryn_snake.template_api.TemplateContextProcessor object at 0x7fdad4d895c0>, 'ALDRYN_SNAKE': <aldryn_snake.template_api.TemplateContextProcessor object at 0x7fdad4d895c0>, 'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!', 'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>, 'instance': <cms.models.pluginmodel.CMSPlugin id=14948 plugin_type='StandardHeaderPlugin' object at 0x7fdad4fb8a20>, 'placeholder': 'Standard Header', 'social_links': <QuerySet []>, 'site_name': 'Park+Pet+Shop'}] |
editable | False |
instance | <cms.models.pluginmodel.CMSPlugin id=14948 plugin_type='StandardHeaderPlugin' object at 0x7fdad4fb8a20> |
placeholder | <cms.models.placeholdermodel.Placeholder id=7 slot='Standard Header' object at 0x7fdad50af6d8> |
plugin | Error in formatting: TypeError: __repr__ returned non-string (type __proxy__) |
self | <cms.plugin_rendering.ContentRenderer object at 0x7fdad5106898> |
/virtualenv/lib/python3.6/site-packages/pinogy_django_base_ptemplate/cms_plugins/__init__.py
in render
site_config_obj = get_site_config(context)
context['social_links'] = site_config_obj.social_links.all()
context['site_name'] = context['request'].site.name.replace(' ', '+')
# breed_slug = context.get('breed_slug')
if 'stores' not in context:
# context['breed'] = self.get_breed_data(client, breed_slug)
stores = get_stores()...
modified_stores= []
for store in stores:
new_store = copy.deepcopy(store)
new_store['open_hours'] = {}
if store['open_hours']:
for k,v in store['open_hours'].items():
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: <function csrf.<locals>._get_val at 0x7fdad4fca840>>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fdad532de80>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fdad4d228d0>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fdad525f0b8>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'LANGUAGES': [('en', 'English')], 'LANGUAGE_CODE': 'en', 'LANGUAGE_BIDI': False, 'request': <WSGIRequest: GET '/about/pets-we-carry-/fish-/'>, 'MEDIA_URL': '/media/', 'TIME_ZONE': 'America/Chicago', 'STATIC_URL': '/static/', 'debug': True, 'SEKIZAI_CONTENT_HOLDER': defaultdict(<class 'sekizai.data.UniqueSequence'>, {}), 'cms_menu_renderer': <menus.menu_pool.MenuRenderer object at 0x7fdad5033898>, 'CMS_MEDIA_URL': '/media/cms/', 'CMS_TEMPLATE': <function cms_settings.<locals>.<lambda> at 0x7fdad4ff3598>, 'ALDRYN_BOILERPLATE_NAME': 'blank', 'TEMPLATE_API_REGISTRY': <aldryn_snake.template_api.TemplateContextProcessor object at 0x7fdad4d895c0>, 'ALDRYN_SNAKE': <aldryn_snake.template_api.TemplateContextProcessor object at 0x7fdad4d895c0>, 'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=44 is_draft=False object at 0x7fdad4caea20>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Information about Park Pet Shop's Fish - Park Pet Shop', 'description': 'Park Pet Shop is proud to carry a selection of both, freshwater and saltwater fish! Plus the supplies you will need to have your aquariums in balance!', 'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>, 'instance': <cms.models.pluginmodel.CMSPlugin id=14948 plugin_type='StandardHeaderPlugin' object at 0x7fdad4fb8a20>, 'placeholder': 'Standard Header', 'social_links': <QuerySet []>, 'site_name': 'Park+Pet+Shop'}] |
instance | <cms.models.pluginmodel.CMSPlugin id=14948 plugin_type='StandardHeaderPlugin' object at 0x7fdad4fb8a20> |
placeholder | 'Standard Header' |
self | Error in formatting: TypeError: __repr__ returned non-string (type __proxy__) |
site_config_obj | <SiteConfig: Site Config> |
/virtualenv/lib/python3.6/site-packages/pinogy_django_base_ptemplate/cms_plugins/__init__.py
in get_stores
plugin_pool.register_plugin(ReCaptchaField)
def get_stores():
try:
import pinogy_available_pets.cms_plugins_api_utils
return pinogy_available_pets.cms_plugins_api_utils.get_stores()...
except ImportError:
client = POSAPI()
return client.get_stores()['objects']
def get_site_config(context: typing.Dict) -> SiteConfig:
Variable | Value |
---|---|
pinogy_available_pets | <module 'pinogy_available_pets' from '/virtualenv/lib/python3.6/site-packages/pinogy_available_pets/__init__.py'> |
/virtualenv/lib/python3.6/site-packages/pinogy_available_pets/cms_plugins_api_utils.py
in get_stores
def get_stores(client: Optional[pos_api.PWAPI] = None) -> List[Dict]:
result = cache.get(STORES_CACHE_KEY)
if result is None:
if not client:
client = pos_api.PWAPI()
result = client.get_stores()['objects']...
cache.set(STORES_CACHE_KEY, result, STORES_CACHE_TIMEOUT)
return result
STORE_DETAIL_CACHE_KEY = 'pinogy_available_pets:cms_plugins_api_utils:get_store_detail:{store_slug}'
Variable | Value |
---|---|
client | <pinogy_available_pets.pos_api.PWAPI object at 0x7fdad4fec0f0> |
result | None |
/virtualenv/lib/python3.6/site-packages/pinogy_available_pets/pos_api.py
in get_stores
def get_stores(self, is_public=True, is_enabled=True):
r = self.client.get(
'/api/stores',
is_public=is_public,
is_enabled=is_enabled
)
return self._return_json(r)...
def get_pet_box_visits_schedule(self, start_at, finish_at, location_id=None, visit_box_id=None):
r = self.client.get(
'/api/pet_box_visits_schedule',
start_at=start_at,
finish_at=finish_at,
Variable | Value |
---|---|
is_enabled | True |
is_public | True |
r | <Response [403]> |
self | <pinogy_available_pets.pos_api.PWAPI object at 0x7fdad4fec0f0> |
/virtualenv/lib/python3.6/site-packages/pinogy_available_pets/pos_api.py
in _return_json
else:
error_data = json.loads(r.json)
# if error_data.get('error',{}).get('type') == 'token_refresh':
# self.token_refresh()
raise ApiException(
r.status_code,
error_data...
)
else:
raise Exception('API error {0}: {1}'.format(
r.status_code,
r.content
))
Variable | Value |
---|---|
error_data | {'error': {'data': {}, 'error': 'ERR_DEVICE_DISABLED', 'httperror': {'code': 403, 'name': 'HTTPForbidden'}, 'message': 'The device is disabled', 'request': {'method': 'GET', 'params': {'accesskey': 'm2kt5cpF85X7c85vtqpr', 'is_enabled': 'True', 'is_public': 'True', 'session': 'biDqm6aaIu2DfXov1ioqqpKY7MKeYg==', 'signature': '1iOp/W2CZ/9x6KmSLtOKs76IV+f5mLxrIKBiKn/7C00=', 'timestamp': '2024-03-29T15:07:01Z'}}}} |
http_response | <Response [403]> |
r | <Response [403]> |
self | <pinogy_available_pets.pos_api.PWAPI object at 0x7fdad4fec0f0> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'parkpetshop.com' |
HTTP_REFERER | 'https://parkpetshop.com/pet-information/freshwater-fish/' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '34.229.110.49' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REAL_IP | '34.229.110.49' |
PATH_INFO | '/about/pets-we-carry-/fish-/' |
QUERY_STRING | '' |
REMOTE_ADDR | '172.17.0.1' |
REMOTE_PORT | '1212' |
REQUEST_METHOD | 'GET' |
REQUEST_URI | '/about/pets-we-carry-/fish-/' |
SCRIPT_NAME | '' |
SERVER_NAME | '2a3ee5539b44' |
SERVER_PORT | '80' |
SERVER_PROTOCOL | 'HTTP/1.0' |
UWSGI_ROUTER | 'http' |
uwsgi.node | b'2a3ee5539b44' |
uwsgi.version | b'2.0.18' |
wsgi.errors | <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'> |
wsgi.file_wrapper | '' |
wsgi.input | <uwsgi._Input object at 0x7fdad5316990> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADDONS_DEV_DIR | '/app/addons-dev' |
ADDONS_DIR | '/app/addons' |
ADDON_URLS | ['pinogy_page_sitemap.urls', 'aldryn_django_cms.urls', 'filer.server.urls'] |
ADDON_URLS_I18N | ['aldryn_django.i18n_urls', 'aldryn_django_cms.urls_i18n'] |
ADDON_URLS_I18N_LAST | 'cms.urls' |
ADMINS | [] |
ALDRYN_BOILERPLATE_NAME | 'blank' |
ALDRYN_DJANGO_ENABLE_GIS | False |
ALDRYN_FORMS_ACTION_BACKENDS | {'default': 'aldryn_forms.action_backends.DefaultAction', 'default_leads': 'pinogy_django_base_ptemplate.aldryn_forms_action_backends.DefaultWithLeadsAction', 'email_leads': 'pinogy_django_base_ptemplate.aldryn_forms_action_backends.EmailWithLeadsAction', 'email_only': 'aldryn_forms.action_backends.EmailAction', 'none': 'aldryn_forms.action_backends.NoAction'} |
ALDRYN_FORMS_SHOW_ALL_RECIPIENTS | True |
ALDRYN_SITES_AUTO_CONFIGURE_ALLOWED_HOSTS | True |
ALDRYN_SITES_DOMAINS | {} |
ALDRYN_SITES_REDIRECT_PERMANENT | False |
ALDRYN_SITES_SET_DOMAIN_NAME | True |
ALLOWED_HOSTS | ['localhost', '165.pinogy.website', 'parkpetshop.com'] |
ALL_LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('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'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian 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'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
ALL_LANGUAGES_DICT | {'af': 'Afrikaans', 'ar': 'Arabic', 'ast': 'Asturian', 'az': 'Azerbaijani', 'be': 'Belarusian', 'bg': 'Bulgarian', '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', 'ia': 'Interlingua', 'id': 'Indonesian', 'io': 'Ido', 'is': 'Icelandic', 'it': 'Italian', 'ja': 'Japanese', 'ka': 'Georgian', 'kk': 'Kazakh', 'km': 'Khmer', 'kn': 'Kannada', 'ko': 'Korean', 'lb': 'Luxembourgish', 'lt': 'Lithuanian', 'lv': 'Latvian', 'mk': 'Macedonian', 'ml': 'Malayalam', 'mn': 'Mongolian', 'mr': 'Marathi', 'my': 'Burmese', 'nb': 'Norwegian 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', 'th': 'Thai', 'tr': 'Turkish', 'tt': 'Tatar', 'udm': 'Udmurt', 'uk': 'Ukrainian', 'ur': 'Urdu', 'vi': 'Vietnamese', 'zh-hans': 'Simplified Chinese', 'zh-hant': 'Traditional Chinese'} |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BACKEND_PORT | 8000 |
BASE_DIR | '/app' |
CACHES | {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'CLIENT_CLASS': 'django_redis.client.DefaultClient', 'LOCATION': 'redis://127.0.0.1:6379/1'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CACHE_URL | 'redis://127.0.0.1:6379/1?client_class=django_redis.client.DefaultClient' |
CKEDITOR_SETTINGS | {'autoParagraph': False} |
CMS_CACHE_DURATIONS | {'content': 60, 'menus': 3600, 'permissions': 3600} |
CMS_LANGUAGES | {1: [{'code': 'en', 'fallbacks': [], 'hide_untranslated': False, 'name': 'English', 'public': True, 'redirect_on_fallback': True}], 'default': {'fallbacks': ['en'], 'hide_untranslated': False, 'public': True, 'redirect_on_fallback': True}, <class 'cms.utils.conf.VERIFIED'>: True} |
CMS_PERMISSION | True |
CMS_TEMPLATES | [['pinogy_new_template/clientweb-template01.html', 'Default'], ['pinogy_django_base_ptemplate/fullwidth_v28.html', 'Old']] |
COMPRESSORS | {'css': 'compressor.css.CssCompressor', 'js': 'compressor.js.JsCompressor'} |
COMPRESS_CACHEABLE_PRECOMPILERS | () |
COMPRESS_CACHE_BACKEND | 'default' |
COMPRESS_CACHE_KEY_FUNCTION | '********************' |
COMPRESS_CLEAN_CSS_ARGUMENTS | '' |
COMPRESS_CLEAN_CSS_BINARY | 'cleancss' |
COMPRESS_CLOSURE_COMPILER_ARGUMENTS | '' |
COMPRESS_CLOSURE_COMPILER_BINARY | 'java -jar compiler.jar' |
COMPRESS_CSS_HASHING_METHOD | 'mtime' |
COMPRESS_DATA_URI_MAX_SIZE | 1024 |
COMPRESS_DEBUG_TOGGLE | None |
COMPRESS_ENABLED | False |
COMPRESS_FILTERS | {'css': ['compressor.filters.css_default.CssAbsoluteFilter'], 'js': ['compressor.filters.jsmin.JSMinFilter']} |
COMPRESS_JINJA2_GET_ENVIRONMENT | <function CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7fdad9a29ea0> |
COMPRESS_MINT_DELAY | 30 |
COMPRESS_MTIME_DELAY | 10 |
COMPRESS_OFFLINE | False |
COMPRESS_OFFLINE_CONTEXT | {'STATIC_URL': '/static/'} |
COMPRESS_OFFLINE_MANIFEST | 'manifest.json' |
COMPRESS_OFFLINE_TIMEOUT | 31536000 |
COMPRESS_OUTPUT_DIR | 'CACHE' |
COMPRESS_PARSER | 'compressor.parser.AutoSelectParser' |
COMPRESS_PRECOMPILERS | () |
COMPRESS_REBUILD_TIMEOUT | 2592000 |
COMPRESS_ROOT | '/app/static_collected' |
COMPRESS_STORAGE | 'compressor.storage.CompressorFileStorage' |
COMPRESS_TEMPLATE_FILTER_CONTEXT | {'STATIC_URL': '/static/'} |
COMPRESS_URL | '/static/' |
COMPRESS_URL_PLACEHOLDER | '/__compressor_url_placeholder__/' |
COMPRESS_VERBOSE | False |
COMPRESS_YUGLIFY_BINARY | 'yuglify' |
COMPRESS_YUGLIFY_CSS_ARGUMENTS | '--terminal' |
COMPRESS_YUGLIFY_JS_ARGUMENTS | '--terminal' |
COMPRESS_YUI_BINARY | 'java -jar yuicompressor.jar' |
COMPRESS_YUI_CSS_ARGUMENTS | '' |
COMPRESS_YUI_JS_ARGUMENTS | '' |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': 'us00db0-int.pinogy.net', 'NAME': 'websites', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': 6432, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'client_25'}} |
DATABASE_ROUTERS | [] |
DATABASE_URL | '********************' |
DATA_ROOT | '/data' |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_CONTENT_TYPE | 'text/html' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'noreply@pinogy.website' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISABLE_TEMPLATE_CACHE | True |
DISALLOWED_USER_AGENTS | [] |
DJANGOCMS_BOOTSTRAP4_USE_ICONS | 1 |
DJANGOCMS_GOOGLEMAP_API_KEY | '********************' |
DJANGOCMS_PICTURE_RESPONSIVE_IMAGES | False |
DJANGO_WEB_MAX_REQUESTS | 500 |
DJANGO_WEB_TIMEOUT | 120 |
DJANGO_WEB_WORKERS | 3 |
EMAIL_BACKEND | 'django.core.mail.backends.dummy.EmailBackend' |
EMAIL_FILE_PATH | '' |
EMAIL_HOST | 'smtp.sendgrid.com' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'apikey' |
EMAIL_PORT | 587 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_URL | '********************' |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | True |
ENABLE_SYNCING | True |
FILER_DEBUG | True |
FILER_ENABLE_LOGGING | True |
FILER_ENABLE_PERMISSIONS | False |
FILER_IMAGE_MODEL | 'filer.Image' |
FILER_IMAGE_USE_ICON | True |
FILE_CHARSET | 'utf-8' |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | None |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
GOOGLE_TAG_MANAGER_ID | 'Google Tag Manager' |
IGNORABLE_404_URLS | [] |
INSTALLED_ADDONS | ['aldryn-addons', 'aldryn-django', 'aldryn-django-cms', 'aldryn-background-image', 'aldryn-forms', 'djangocms-bootstrap4', 'djangocms-file', 'djangocms-googlemap', 'djangocms-history', 'djangocms-icon', 'djangocms-link', 'djangocms-picture', 'djangocms-snippet', 'djangocms-style', 'djangocms-text-ckeditor', 'djangocms-video', 'django-filer', 'pinogy-available-pets', 'pinogy-django-base-ptemplate', 'pinogy-common', 'pinogy-google-tag-manager', 'pinogy-locations', 'pinogy-page-sitemap', 'pinogy-django-api', 'pinogy-site-config', 'pgy-django-swapi', 'pinogy-testimonials'] |
INSTALLED_APPS | ['aldryn_addons', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'djangocms_admin_style', 'django.contrib.admin', 'django.contrib.staticfiles', 'aldryn_django', 'aldryn_sites', 'cms', 'aldryn_django_cms', 'menus', 'sekizai', 'treebeard', 'parler', 'aldryn_boilerplates', 'django.contrib.sitemaps', 'compressor', 'robots', 'captcha', 'django_select2', 'filer.contrib.django_cms', 'aldryn_background_image', 'emailit', 'aldryn_forms', 'aldryn_forms.contrib.email_notifications', 'djangocms_link', 'djangocms_picture', 'djangocms_bootstrap4', 'djangocms_bootstrap4.contrib.bootstrap4_alerts', 'djangocms_bootstrap4.contrib.bootstrap4_badge', 'djangocms_bootstrap4.contrib.bootstrap4_card', 'djangocms_bootstrap4.contrib.bootstrap4_carousel', 'djangocms_bootstrap4.contrib.bootstrap4_collapse', 'djangocms_bootstrap4.contrib.bootstrap4_content', 'djangocms_bootstrap4.contrib.bootstrap4_grid', 'djangocms_bootstrap4.contrib.bootstrap4_jumbotron', 'djangocms_bootstrap4.contrib.bootstrap4_link', 'djangocms_bootstrap4.contrib.bootstrap4_listgroup', 'djangocms_bootstrap4.contrib.bootstrap4_media', 'djangocms_bootstrap4.contrib.bootstrap4_picture', 'djangocms_bootstrap4.contrib.bootstrap4_tabs', 'djangocms_bootstrap4.contrib.bootstrap4_utilities', 'djangocms_file', 'djangocms_googlemap', 'djangocms_history', 'djangocms_icon', 'djangocms_snippet', 'djangocms_style', 'djangocms_text_ckeditor', 'djangocms_video', 'filer', 'easy_thumbnails', 'mptt', 'polymorphic', 'adminsortable2', 'colorful', 'django.contrib.humanize', 'pinogy_available_pets', 'pinogy_common', 'pinogy_locations', 'pinogy_django_api', 'pinogy_django_base_ptemplate', 'snowpenguin.django.recaptcha2', 'pinogy_google_tag_manager', 'pinogy_page_sitemap', 'solo', 'sortedm2m', 'pinogy_site_config', 'agithub', 'pgy_django_swapi', 'pinogy_testimonials'] |
INTERNAL_IPS | [] |
LANGUAGES | [('en', 'English')] |
LANGUAGES_BIDI | ['he', 'ar', 'fa', 'ur'] |
LANGUAGE_CODE | 'en' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LOCALE_PATHS | ['/app/locale'] |
LOGGING | {'disable_existing_loggers': False, 'filters': {'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}, 'require_debug_true': {'()': 'django.utils.log.RequireDebugTrue'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'level': 'INFO', 'stream': <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>}, 'null': {'class': 'logging.NullHandler'}}, 'loggers': {'': {'handlers': ['console'], 'level': 'INFO'}, 'aldryn': {'handlers': ['console'], 'level': 'INFO'}, 'django': {'handlers': ['console'], 'level': 'INFO'}, 'django.request': {'handlers': ['console'], 'level': 'INFO', 'propagate': False}, 'py.warnings': {'handlers': ['console']}}, 'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MAPS_MAPBOX_ACCESS_TOKEN | '********************' |
MEDIA_HEADERS | [('filer_public(?:_thumbnails)?/.*', {'Cache-Control': 'public, max-age=31536000'})] |
MEDIA_ROOT | '/data/media' |
MEDIA_URL | '/media/' |
MEDIA_URL_IS_ON_OTHER_DOMAIN | '' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | None |
MIDDLEWARE_CLASSES | ['pinogy_django_base_ptemplate.middleware.Redirect404Middleware', 'cms.middleware.utils.ApphookReloadMiddleware', 'django.middleware.gzip.GZipMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'aldryn_django.middleware.LanguagePrefixFallbackMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.sites.middleware.CurrentSiteMiddleware', 'aldryn_sites.middleware.SiteMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.middleware.common.CommonMiddleware', 'cms.middleware.user.CurrentUserMiddleware', 'cms.middleware.page.CurrentPageMiddleware', 'cms.middleware.toolbar.ToolbarMiddleware', 'cms.middleware.language.LanguageCookieMiddleware'] |
MIGRATION_COMMANDS | ['CACHE_URL="locmem://" python manage.py createcachetable django_dbcache; exit ' '0', 'python manage.py migrate --noinput', 'python manage.py cms fix-tree', 'python manage.py generate_colors_css'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PARLER_LANGUAGES | {1: [{'code': 'en', 'fallbacks': [], 'hide_untranslated': False}], 'default': {'code': 'en', 'fallbacks': ['en'], 'hide_untranslated': False}} |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PINOGY_ACCESS_KEY | '********************' |
PINOGY_API_HOST | '********************' |
PINOGY_API_PASS | '********************' |
PINOGY_AVAILABLE_PETS_NON_CANONICAL_URL_HANDLING | '302' |
PINOGY_SECRET_KEY | '********************' |
PORT | 80 |
PREFIX_DEFAULT_LANGUAGE | False |
PREPEND_WWW | False |
RANDOM_COMMENT_EXCLUDED_VIEWS | {'cms.admin.pageadmin.get_tree'} |
RECAPTCHA_PRIVATE_KEY | '********************' |
RECAPTCHA_PUBLIC_KEY | '********************' |
ROOT_URLCONF | 'urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | False |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | ('HTTP_X_FORWARDED_PROTO', 'https') |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | None |
SELECT2_CACHE_BACKEND | 'default' |
SELECT2_CACHE_PREFIX | 'select2_' |
SELECT2_CSS | '//cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.min.css' |
SELECT2_I18N_AVAILABLE_LANGUAGES | ['ar', 'az', 'bg', 'ca', 'cs', 'da', 'de', 'el', 'en', 'es', 'et', 'eu', 'fa', 'fi', 'fr', 'gl', 'he', 'hi', 'hr', 'hu', 'id', 'is', 'it', 'ja', 'km', 'ko', 'lt', 'lv', 'mk', 'ms', 'nb', 'nl', 'pl', 'pt-BR', 'pt', 'ro', 'ru', 'sk', 'sr-Cyrl', 'sr', 'sv', 'th', 'tr', 'uk', 'vi', 'zh-CN', 'zh-TW'] |
SELECT2_I18N_PATH | '//cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/i18n' |
SELECT2_JS | '//cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.min.js' |
SELECT2_LIB_VERSION | '4.0.5' |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | False |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'settings' |
SHOPWINDOW_API_HOST | '********************' |
SHOPWINDOW_API_PASSWORD | '********************' |
SHOPWINDOW_API_USERNAME | '********************' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SITE_ID | 1 |
STATICFILES_DEFAULT_MAX_AGE | 300 |
STATICFILES_DIRS | ['/app/static'] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'aldryn_boilerplates.staticfile_finders.AppDirectoriesFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder'] |
STATICFILES_STORAGE | 'aldryn_django.storage.GZippedStaticFilesStorage' |
STATIC_HEADERS | [('.*\\.[0-9a-f]{10,16}\\.(eot|ttf|otf|woff)', {'Access-Control-Allow-Origin': '*', 'Cache-Control': 'public, max-age=31536000'}), ('.*\\.[0-9a-f]{10,16}\\.[a-z]+', {'Cache-Control': 'public, max-age=31536000'}), ('.*\\.(eot|ttf|otf|woff)', {'Access-Control-Allow-Origin': '*', 'Cache-Control': 'public, max-age=300'}), ('.*', {'Cache-Control': 'public, max-age=300'})] |
STATIC_ROOT | '/app/static_collected' |
STATIC_URL | '/static/' |
STATIC_URL_IS_ON_OTHER_DOMAIN | '' |
TEMPLATES | [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/templates'], 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django.template.context_processors.i18n', 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.template.context_processors.media', 'django.template.context_processors.csrf', 'django.template.context_processors.tz', 'django.template.context_processors.static', 'aldryn_django.context_processors.debug', 'sekizai.context_processors.sekizai', 'cms.context_processors.cms_settings', 'aldryn_boilerplates.context_processors.boilerplate', 'aldryn_snake.template_api.template_processor'], 'debug': True, 'loaders': ['django.template.loaders.filesystem.Loader', 'aldryn_boilerplates.template_loaders.AppDirectoriesLoader', 'django.template.loaders.app_directories.Loader', 'django.template.loaders.eggs.Loader']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
THUMBNAIL_CACHE_DIMENSIONS | True |
THUMBNAIL_HIGH_RESOLUTION | False |
THUMBNAIL_OPTIMIZE_COMMAND | {'gif': '/usr/bin/gifsicle --batch --optimize=2 {filename}', 'jpeg': '/usr/bin/jpegoptim --max=90 --overwrite --strip-all ' '--all-progressive {filename}', 'png': '/usr/bin/pngout {filename} {filename}.png -s0 -y -force && mv ' '{filename}.png {filename}'} |
THUMBNAIL_PRESERVE_EXTENSIONS | ['png', 'gif'] |
THUMBNAIL_PROCESSORS | ('easy_thumbnails.processors.colorspace', 'easy_thumbnails.processors.autocrop', 'filer.thumbnail_processors.scale_and_crop_with_subject_location', 'easy_thumbnails.processors.filters') |
THUMBNAIL_QUALITY | 90 |
THUMBNAIL_SOURCE_GENERATORS | ('easy_thumbnails.source_generators.pil_image',) |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'America/Chicago' |
USE_ETAGS | False |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | False |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'wsgi.application' |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
YEAR_MONTH_FORMAT | 'F Y' |
You're seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard page generated by the handler for this status code.