API error 403: {'error': {'error': 'ERR_DEVICE_DISABLED', 'request': {'method': 'GET', 'params': {'is_public': 'True', 'is_enabled': 'True', 'accesskey': 'm2kt5cpF85X7c85vtqpr', 'timestamp': '2024-03-19T06:19:07Z', 'signature': 'V3wTcOaRoczJ9/WPTwurZsDH84ZhdSFJ+ZwWitCsNls=', 'session': 'biDqm6aaIu2DfXov1ioqqpKY7MKeYg=='}}, 'httperror': {'name': 'HTTPForbidden', 'code': 403}, 'message': 'The device is disabled', 'data': {}}}
Request Method: | GET |
---|---|
Request URL: | https://parkpetshop.com/contact/ |
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-19T06:19:07Z', 'signature': 'V3wTcOaRoczJ9/WPTwurZsDH84ZhdSFJ+ZwWitCsNls=', '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: | Tue, 19 Mar 2024 01:19:07 -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-19T06:19:07Z', 'signature': 'V3wTcOaRoczJ9/WPTwurZsDH84ZhdSFJ+ZwWitCsNls=', '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 '/contact/'> |
/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 0x7fdad5de3160>> |
request | <WSGIRequest: GET '/contact/'> |
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 0x7fdad5397268> |
callback_args | () |
callback_kwargs | {'slug': 'contact'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fdad5f5cef0>> |
request | <WSGIRequest: GET '/contact/'> |
resolver | <RegexURLResolver 'urls' (None:None) ^/> |
resolver_match | ResolverMatch(func=cms.views.details, args=(), kwargs={'slug': 'contact'}, 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 0x7fdad5397268> |
/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 0x7fdad5397268> |
callback_args | () |
callback_kwargs | {'slug': 'contact'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fdad5f5cef0>> |
request | <WSGIRequest: GET '/contact/'> |
resolver | <RegexURLResolver 'urls' (None:None) ^/> |
resolver_match | ResolverMatch(func=cms.views.details, args=(), kwargs={'slug': 'contact'}, 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 0x7fdad5397268> |
/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=48 is_draft=False object at 0x7fdad4b4df28>, '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 0x7fdad4b4d9e8> |
/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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 '/contact/'> |
self | <django.template.backends.django.Template object at 0x7fdad4b4d9e8> |
/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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4e38a20> |
/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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4e38a20> |
/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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b51438> |
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 0x7fdad4e08e48> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4e1f7f0> |
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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4e08e48> |
/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/contact/', '"/>\n' ' <meta name="viewport" content="width=device-width, initial-scale=1, ' 'minimum-scale=1.0, shrink-to-fit=no">\n' ' <title>', 'Contact Us about any Pet Questions - Park Pet Shop', '</title>\n <meta name="description" content="', 'We would love to hear from you. Schedule a play date or reserve your puppy. ' 'Call, email or better yet, visit our locations today!', '">', '<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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4e1f7f0>, <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 0x7fdad4e259e8>, <TextNode: '\n'>, <pinogy_django_base_ptemplate.templatetags.kwacros.DefineMacroNode object at 0x7fdad4e1fa58>, <TextNode: '\n'>, <pinogy_django_base_ptemplate.templatetags.kwacros.DefineMacroNode object at 0x7fdad4e25f60>, <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 0x7fdad4e25c88>, <TextNode: '"/>\n <meta name="viewpor'>, <pinogy_django_base_ptemplate.templatetags.kwacros.UseMacroNode object at 0x7fdad4b43b70>, <TextNode: '</title>\n <meta name="de'>, <pinogy_django_base_ptemplate.templatetags.kwacros.UseMacroNode object at 0x7fdad4b43d30>, <TextNode: '">'>, <django.template.defaulttags.SpacelessNode object at 0x7fdad4e13860>, <TextNode: '<link rel="apple-touch-ic'>, <django.templatetags.static.StaticNode object at 0x7fdad4b43400>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b43550>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'bootstrap3css', 'nodelist': [<TextNode: '\n <link rel="stylesheet"'>, <django.templatetags.static.StaticNode object at 0x7fdad4b43320>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4b436d8>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4b43828>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4b439e8>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b43320>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4b436d8>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4b43828>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4b439e8>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b43320>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4b436d8>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4b43828>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4b439e8>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b43710>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'css', 'nodelist': [<TextNode: ' '>, <django.template.loader_tags.IncludeNode object at 0x7fdad4b43630>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b43630>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b43630>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b64080>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'colors', 'nodelist': [<TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7fdad4b64198>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b64198>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b64198>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b642e8>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'fonts', 'nodelist': [<TextNode: ' <script src="'>, <django.templatetags.static.StaticNode object at 0x7fdad4b64400>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b64400>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b64400>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b64b38>), ('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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b64cc0>), ('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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b64e48>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'head_structured_data', 'nodelist': [<TextNode: '\n <script src="'>, <django.templatetags.static.StaticNode object at 0x7fdad4b64f60>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad4b47048>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b64f60>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad4b47048>, <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-48 block-content', '">\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b64f60>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad4b47048>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b79c50>, <TextNode: '"></script>\n <script def'>, <django.templatetags.static.StaticNode object at 0x7fdad4b79cf8>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad4b79da0>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4b79e48>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4b79ef0>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4b79f98>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b79c50>, <TextNode: '"></script>\n <script def'>, <django.templatetags.static.StaticNode object at 0x7fdad4b79cf8>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad4b79da0>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4b79e48>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4b79ef0>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4b79f98>, <TextNode: '" ></script>\n '>, <Tag: render_block>] |
request | <WSGIRequest: GET '/contact/'> |
self | <Tag: cms_toolbar> |
toolbar | <cms.toolbar.toolbar.CMSToolbar object at 0x7fdad4b514a8> |
/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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b79c50>, <TextNode: '"></script>\n <script def'>, <django.templatetags.static.StaticNode object at 0x7fdad4b79cf8>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad4b79da0>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4b79e48>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4b79ef0>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4b79f98>, <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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b51438> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4e0dc88>), ('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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4e38400> |
request | <WSGIRequest: GET '/contact/'> |
self | <Tag: static_placeholder> |
static_placeholder | <StaticPlaceholder: Standard Header> |
toolbar | <cms.toolbar.toolbar.CMSToolbar object at 0x7fdad4b514a8> |
/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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b767b8> |
self | <cms.plugin_rendering.ContentRenderer object at 0x7fdad4e38400> |
static_placeholder | <StaticPlaceholder: Standard Header> |
use_cache | True |
user | <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fdad4b514e0>> |
/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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b767b8> |
plugin_content | <generator object ContentRenderer.render_plugins at 0x7fdad4e16678> |
self | <cms.plugin_rendering.ContentRenderer object at 0x7fdad4e38400> |
template | None |
use_cache | True |
watcher | <sekizai.helpers.Watcher object at 0x7fdad4e38748> |
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=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!'}, {'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 0x7fdad4b767b8> |
plugin | <cms.models.pluginmodel.CMSPlugin id=14948 plugin_type='StandardHeaderPlugin' object at 0x7fdad4b7c1d0> |
plugins | [<cms.models.pluginmodel.CMSPlugin id=14948 plugin_type='StandardHeaderPlugin' object at 0x7fdad4b7c1d0>] |
self | <cms.plugin_rendering.ContentRenderer object at 0x7fdad4e38400> |
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 0x7fdad4c59f28>>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fdad4b514e0>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fdad4b4d940>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fdad4b516d8>, '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 '/contact/'>, '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 0x7fdad4ad2c18>, 'CMS_MEDIA_URL': '/media/cms/', 'CMS_TEMPLATE': <function cms_settings.<locals>.<lambda> at 0x7fdad4e06ae8>, 'ALDRYN_BOILERPLATE_NAME': 'blank', 'TEMPLATE_API_REGISTRY': <aldryn_snake.template_api.TemplateContextProcessor object at 0x7fdad4b4d518>, 'ALDRYN_SNAKE': <aldryn_snake.template_api.TemplateContextProcessor object at 0x7fdad4b4d518>, 'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!', '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 0x7fdad4b7c1d0>, '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 0x7fdad4b7c1d0> |
placeholder | <cms.models.placeholdermodel.Placeholder id=7 slot='Standard Header' object at 0x7fdad4b767b8> |
plugin | Error in formatting: TypeError: __repr__ returned non-string (type __proxy__) |
self | <cms.plugin_rendering.ContentRenderer object at 0x7fdad4e38400> |
/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 0x7fdad4c59f28>>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fdad4b514e0>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fdad4b4d940>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fdad4b516d8>, '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 '/contact/'>, '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 0x7fdad4ad2c18>, 'CMS_MEDIA_URL': '/media/cms/', 'CMS_TEMPLATE': <function cms_settings.<locals>.<lambda> at 0x7fdad4e06ae8>, 'ALDRYN_BOILERPLATE_NAME': 'blank', 'TEMPLATE_API_REGISTRY': <aldryn_snake.template_api.TemplateContextProcessor object at 0x7fdad4b4d518>, 'ALDRYN_SNAKE': <aldryn_snake.template_api.TemplateContextProcessor object at 0x7fdad4b4d518>, 'lang': 'en', 'current_page': <cms.models.pagemodel.Page id=48 is_draft=False object at 0x7fdad4b4df28>, 'has_change_permissions': False, 'has_view_permissions': True, 'config': <SiteConfig: Site Config>, 'title': 'Contact Us about any Pet Questions - Park Pet Shop', 'description': 'We would love to hear from you. Schedule a play date or reserve your puppy. Call, email or better yet, visit our locations today!', '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 0x7fdad4b7c1d0>, 'placeholder': 'Standard Header', 'social_links': <QuerySet []>, 'site_name': 'Park+Pet+Shop'}] |
instance | <cms.models.pluginmodel.CMSPlugin id=14948 plugin_type='StandardHeaderPlugin' object at 0x7fdad4b7c1d0> |
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 0x7fdad4b458d0> |
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 0x7fdad4b458d0> |
/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': 'V3wTcOaRoczJ9/WPTwurZsDH84ZhdSFJ+ZwWitCsNls=', 'timestamp': '2024-03-19T06:19:07Z'}}}} |
http_response | <Response [403]> |
r | <Response [403]> |
self | <pinogy_available_pets.pos_api.PWAPI object at 0x7fdad4b458d0> |
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_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '44.197.113.64' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REAL_IP | '44.197.113.64' |
PATH_INFO | '/contact/' |
QUERY_STRING | '' |
REMOTE_ADDR | '172.17.0.1' |
REMOTE_PORT | '24783' |
REQUEST_METHOD | 'GET' |
REQUEST_URI | '/contact/' |
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 0x7fdad5316558> |
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.