API error 403: {'error': {'error': 'ERR_DEVICE_DISABLED', 'request': {'method': 'GET', 'params': {'is_public': 'True', 'is_enabled': 'True', 'accesskey': 'm2kt5cpF85X7c85vtqpr', 'timestamp': '2024-03-29T10:00:01Z', 'signature': 'HSBi6jmqo2ZoLBERoWYR8aPTTgMgkkg949Vyqpyvzg4=', 'session': 'biDqm6aaIu2DfXov1ioqqpKY7MKeYg=='}}, 'httperror': {'name': 'HTTPForbidden', 'code': 403}, 'message': 'The device is disabled', 'data': {}}}
Request Method: | GET |
---|---|
Request URL: | https://parkpetshop.com/about/testimonials/ |
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-29T10:00:01Z', 'signature': 'HSBi6jmqo2ZoLBERoWYR8aPTTgMgkkg949Vyqpyvzg4=', 'session': 'biDqm6aaIu2DfXov1ioqqpKY7MKeYg=='}}, 'httperror': {'name': 'HTTPForbidden', 'code': 403}, 'message': 'The device is disabled', 'data': {}}} |
Exception Location: | /virtualenv/lib/python3.6/site-packages/pinogy_available_pets/pos_api.py in _return_json, line 154 |
Python Executable: | /virtualenv/bin/uwsgi |
Python Version: | 3.6.3 |
Python Path: | ['.', '', '/virtualenv/lib/python36.zip', '/virtualenv/lib/python3.6', '/virtualenv/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6', '/virtualenv/lib/python3.6/site-packages', '/virtualenv/lib/python3.6/site-packages/odf', '/virtualenv/lib/python3.6/site-packages/odf', '/virtualenv/lib/python3.6/site-packages/odf', '/virtualenv/lib/python3.6/site-packages/odf', '/virtualenv/lib/python3.6/site-packages/odf', '/virtualenv/lib/python3.6/site-packages/odf', '/virtualenv/lib/python3.6/site-packages/odf'] |
Server time: | Fri, 29 Mar 2024 05:00:01 -0500 |
In template /virtualenv/lib/python3.6/site-packages/pinogy_django_base_ptemplate/templates/pinogy_new_template/pgy-clientweb-rc1.00.barebones.html
, error at line 7
1 | <!DOCTYPE html> |
---|---|
2 | {% load cms_tags sekizai_tags site_config_tags staticfiles kwacros %} |
3 | {% site_config as config %} |
4 | {% page_attribute "page_title" as title %} |
5 | {% page_attribute "meta_description" as description %} |
6 | {% macro title %}{% block title %}{% if dynamic_page_title %}{{ dynamic_page_title }}{% else %}{{ title }}{% endif %}{% endblock %}{% endmacro %} |
7 | {% macro meta_description %}{% block meta_description %}{% if dynamic_page_meta_description %}{{ dynamic_page_meta_description }}{% else %}{{ description }}{% endif %}{% endblock %}{% endmacro %} |
8 | {% macro page_url_with_path %}{% if request.is_secure %}https://{% else %}http://{% endif %}{{request.get_host}}{% page_url request.current_page %}{% endmacro %} |
9 | <html lang="en"> |
10 | <!-- pgy:rc01:0501 --> |
11 | <head> |
12 | {# {% spaceless %}#} |
13 | {# {% page_attribute "page_title" as title %} {# add macro to override from apphook templates #} |
14 | {# {% page_attribute "meta_description" as description %} {# add macro to override from apphook templates #} |
15 | {# {% site_config as config %}#} |
16 | |
17 | {# {% endspaceless %}#} |
/virtualenv/lib/python3.6/site-packages/django/core/handlers/exception.py
in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(get_response))
def inner(request):
try:
response = get_response(request)...
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | ApiException(403, {'error': {'error': 'ERR_DEVICE_DISABLED', 'request': {'method': 'GET', 'params': {'is_public': 'True', 'is_enabled': 'True', 'accesskey': 'm2kt5cpF85X7c85vtqpr', 'timestamp': '2024-03-29T10:00:01Z', 'signature': 'HSBi6jmqo2ZoLBERoWYR8aPTTgMgkkg949Vyqpyvzg4=', 'session': 'biDqm6aaIu2DfXov1ioqqpKY7MKeYg=='}}, 'httperror': {'name': 'HTTPForbidden', 'code': 403}, 'message': 'The device is disabled', 'data': {}}}) |
get_response | <bound method BaseHandler._legacy_get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7fdad60d03c8>> |
request | <WSGIRequest: GET '/about/testimonials/'> |
/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 '/about/testimonials/'> |
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 cms_perms.<locals>.inner at 0x7fdad5342bf8> |
callback_args | () |
callback_kwargs | {} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fdad5f5cef0>> |
request | <WSGIRequest: GET '/about/testimonials/'> |
resolver | <RegexURLResolver 'urls' (None:None) ^/> |
resolver_match | ResolverMatch(func=pinogy_testimonials.views.TestimonialCreateView, args=(), kwargs={}, url_name=create_testimonial, app_names=['pinogy_testimonials'], namespaces=['pinogy_testimonials']) |
response | <TemplateResponse status_code=200, "<class 'pinogy_testimonials.models.Testimonial'>"> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fdad60d03c8> |
wrapped_callback | <function cms_perms.<locals>.inner at 0x7fdad5342bf8> |
/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 cms_perms.<locals>.inner at 0x7fdad5342bf8> |
callback_args | () |
callback_kwargs | {} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fdad5f5cef0>> |
request | <WSGIRequest: GET '/about/testimonials/'> |
resolver | <RegexURLResolver 'urls' (None:None) ^/> |
resolver_match | ResolverMatch(func=pinogy_testimonials.views.TestimonialCreateView, args=(), kwargs={}, url_name=create_testimonial, app_names=['pinogy_testimonials'], namespaces=['pinogy_testimonials']) |
response | <TemplateResponse status_code=200, "<class 'pinogy_testimonials.models.Testimonial'>"> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fdad60d03c8> |
wrapped_callback | <function cms_perms.<locals>.inner at 0x7fdad5342bf8> |
/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, "<class 'pinogy_testimonials.models.Testimonial'>"> |
self | <TemplateResponse status_code=200, "<class 'pinogy_testimonials.models.Testimonial'>"> |
/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 | {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>} |
self | <TemplateResponse status_code=200, "<class 'pinogy_testimonials.models.Testimonial'>"> |
template | <django.template.backends.django.Template object at 0x7fdad4ea0a58> |
/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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'block': <Block Node: content. Contents: [<TextNode: '\n <div class="body">\n '>, <IfNode>, <TextNode: '\n '>, <Tag: static_placeholder>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n <main id="main"'>, <Tag: site_config>, <TextNode: '\n '>, <Tag: placeholder>, <TextNode: '\n '>, <Block Node: main. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </main>\n </di'>, <Tag: static_placeholder>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n'>]>}] |
request | <WSGIRequest: GET '/about/testimonials/'> |
self | <django.template.backends.django.Template object at 0x7fdad4ea0a58> |
/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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4d86860> |
/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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4d86860> |
/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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 CMS_TEMPLATE> |
self | [<ExtendsNode: extends CMS_TEMPLATE>] |
/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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 CMS_TEMPLATE> |
/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 0x7fdad4d862b0> |
compiled_parent | <django.template.base.Template object at 0x7fdad4f5e390> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 CMS_TEMPLATE> |
/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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f5e390> |
/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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4d862b0> |
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 0x7fdad4ef6e80> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f50da0> |
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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4ef6e80> |
/virtualenv/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | ('" />\n' ' <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700" ' 'rel="stylesheet" />\n' ' <link rel="stylesheet" ' 'href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" ' 'integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" ' 'crossorigin="anonymous">\n' ' ') |
bits | ['<!DOCTYPE html>\n', '', '\n', '', '\n', '', '\n', '', '\n', '', '\n', '', '\n', '', '\n<html lang="en">\n<!-- pgy:rc01:0501 -->\n<head>\n', '\n', '\n', '\n', '\n\n', '\n' ' <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n' ' <meta http-equiv="X-UA-Compatible" content="IE=edge">\n' ' <meta name="robots" content="index">\n' ' <meta name="robots" content="follow">\n' ' <link rel="canonical" href="', 'https://parkpetshop.com/about/testimonials/', '"/>\n' ' <meta name="viewport" content="width=device-width, initial-scale=1, ' 'minimum-scale=1.0, shrink-to-fit=no">\n' ' <title>', 'Happy New Pet Owner Testimonials - Park Pet Shop', '</title>\n <meta name="description" content="', 'Park Pet Shop would love to hear how your and your new companion are doing! ' 'Click here to submit your happy story!', '">', '<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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f50da0>, <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 0x7fdad4f6d160>, <TextNode: '\n'>, <pinogy_django_base_ptemplate.templatetags.kwacros.DefineMacroNode object at 0x7fdad4f50f98>, <TextNode: '\n'>, <pinogy_django_base_ptemplate.templatetags.kwacros.DefineMacroNode object at 0x7fdad4f6d6d8>, <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 0x7fdad4f6d400>, <TextNode: '"/>\n <meta name="viewpor'>, <pinogy_django_base_ptemplate.templatetags.kwacros.UseMacroNode object at 0x7fdad4f7f898>, <TextNode: '</title>\n <meta name="de'>, <pinogy_django_base_ptemplate.templatetags.kwacros.UseMacroNode object at 0x7fdad4f7fac8>, <TextNode: '">'>, <django.template.defaulttags.SpacelessNode object at 0x7fdad4f6df98>, <TextNode: '<link rel="apple-touch-ic'>, <django.templatetags.static.StaticNode object at 0x7fdad4f7fb00>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f7e128>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'bootstrap3css', 'nodelist': [<TextNode: '\n <link rel="stylesheet"'>, <django.templatetags.static.StaticNode object at 0x7fdad4f7e240>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4f7e2e8>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4f7e390>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4f7e438>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f7e240>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4f7e2e8>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4f7e390>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4f7e438>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f7e240>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4f7e2e8>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4f7e390>, <TextNode: '">\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fdad4f7e438>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f7e588>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'css', 'nodelist': [<TextNode: ' '>, <django.template.loader_tags.IncludeNode object at 0x7fdad4f7e6a0>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f7e6a0>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f7e6a0>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f7e7b8>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'colors', 'nodelist': [<TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7fdad4f7e8d0>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f7e8d0>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f7e8d0>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f7ea20>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'fonts', 'nodelist': [<TextNode: ' <script src="'>, <django.templatetags.static.StaticNode object at 0x7fdad4f7eb38>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f7eb38>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f7eb38>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4ea42b0>), ('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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4ea4438>), ('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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4ea45c0>), ('postprocessor', <TemplateConstant: None>)]) |
kwargs | {'name': 'head_structured_data', 'nodelist': [<TextNode: '\n <script src="'>, <django.templatetags.static.StaticNode object at 0x7fdad4ea46d8>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad4ea4780>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4ea46d8>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad4ea4780>, <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-56 block-content', '">\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4ea46d8>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad4ea4780>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4e8c3c8>, <TextNode: '"></script>\n <script def'>, <django.templatetags.static.StaticNode object at 0x7fdad4e8c470>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad4e8c518>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4e8c5c0>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4e8c668>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4e8c710>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4e8c3c8>, <TextNode: '"></script>\n <script def'>, <django.templatetags.static.StaticNode object at 0x7fdad4e8c470>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad4e8c518>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4e8c5c0>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4e8c668>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4e8c710>, <TextNode: '" ></script>\n '>, <Tag: render_block>] |
request | <WSGIRequest: GET '/about/testimonials/'> |
self | <Tag: cms_toolbar> |
toolbar | <cms.toolbar.toolbar.CMSToolbar object at 0x7fdad4da5eb8> |
/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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4e8c3c8>, <TextNode: '"></script>\n <script def'>, <django.templatetags.static.StaticNode object at 0x7fdad4e8c470>, <TextNode: '"></script>\n <script src'>, <django.templatetags.static.StaticNode object at 0x7fdad4e8c518>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4e8c5c0>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4e8c668>, <TextNode: '" ></script>\n <script sr'>, <django.templatetags.static.StaticNode object at 0x7fdad4e8c710>, <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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4d862b0> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4f5e668>), ('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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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.LegacyRenderer object at 0x7fdad4ea0630> |
request | <WSGIRequest: GET '/about/testimonials/'> |
self | <Tag: static_placeholder> |
static_placeholder | <StaticPlaceholder: Standard Header> |
toolbar | <cms.toolbar.toolbar.CMSToolbar object at 0x7fdad4da5eb8> |
/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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4d86898> |
self | <cms.plugin_rendering.LegacyRenderer object at 0x7fdad4ea0630> |
static_placeholder | <StaticPlaceholder: Standard Header> |
use_cache | True |
user | <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fdad4da5128>> |
/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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4d86898> |
plugin_content | <generator object ContentRenderer.render_plugins at 0x7fdad4e92150> |
self | <cms.plugin_rendering.LegacyRenderer object at 0x7fdad4ea0630> |
template | None |
use_cache | True |
watcher | <sekizai.helpers.Watcher object at 0x7fdad4f7e048> |
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}, {}, {}, {'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!'}, {'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 0x7fdad4d86898> |
plugin | <cms.models.pluginmodel.CMSPlugin id=14948 plugin_type='StandardHeaderPlugin' object at 0x7fdad4ea2d30> |
plugins | [<cms.models.pluginmodel.CMSPlugin id=14948 plugin_type='StandardHeaderPlugin' object at 0x7fdad4ea2d30>] |
self | <cms.plugin_rendering.LegacyRenderer object at 0x7fdad4ea0630> |
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 0x7fdad4f521e0>>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fdad4da5128>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fdad4ea0cf8>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fdad4da52e8>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'LANGUAGES': [('en', 'English')], 'LANGUAGE_CODE': 'en', 'LANGUAGE_BIDI': False, 'request': <WSGIRequest: GET '/about/testimonials/'>, '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 0x7fdad4c864e0>, 'CMS_MEDIA_URL': '/media/cms/', 'CMS_TEMPLATE': <function cms_settings.<locals>.<lambda> at 0x7fdad4f52f28>, 'ALDRYN_BOILERPLATE_NAME': 'blank', 'TEMPLATE_API_REGISTRY': <aldryn_snake.template_api.TemplateContextProcessor object at 0x7fdad4ea0208>, 'ALDRYN_SNAKE': <aldryn_snake.template_api.TemplateContextProcessor object at 0x7fdad4ea0208>, 'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!', '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 0x7fdad4ea2d30>, '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 0x7fdad4ea2d30> |
placeholder | <cms.models.placeholdermodel.Placeholder id=7 slot='Standard Header' object at 0x7fdad4d86898> |
plugin | Error in formatting: TypeError: __repr__ returned non-string (type __proxy__) |
self | <cms.plugin_rendering.LegacyRenderer object at 0x7fdad4ea0630> |
/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 0x7fdad4f521e0>>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fdad4da5128>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fdad4ea0cf8>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fdad4da52e8>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'LANGUAGES': [('en', 'English')], 'LANGUAGE_CODE': 'en', 'LANGUAGE_BIDI': False, 'request': <WSGIRequest: GET '/about/testimonials/'>, '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 0x7fdad4c864e0>, 'CMS_MEDIA_URL': '/media/cms/', 'CMS_TEMPLATE': <function cms_settings.<locals>.<lambda> at 0x7fdad4f52f28>, 'ALDRYN_BOILERPLATE_NAME': 'blank', 'TEMPLATE_API_REGISTRY': <aldryn_snake.template_api.TemplateContextProcessor object at 0x7fdad4ea0208>, 'ALDRYN_SNAKE': <aldryn_snake.template_api.TemplateContextProcessor object at 0x7fdad4ea0208>, 'form': <TestimonialCreateForm bound=False, valid=Unknown, fields=(subject;body;display_name;img_upload;captcha)>, 'view': <pinogy_testimonials.views.TestimonialCreateView object at 0x7fdad4d9e048>, 'config': <SiteConfig: Site Config>, 'title': 'Happy New Pet Owner Testimonials - Park Pet Shop', 'description': 'Park Pet Shop would love to hear how your and your new companion are doing! Click here to submit your happy story!', '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 0x7fdad4ea2d30>, 'placeholder': 'Standard Header', 'social_links': <QuerySet []>, 'site_name': 'Park+Pet+Shop'}] |
instance | <cms.models.pluginmodel.CMSPlugin id=14948 plugin_type='StandardHeaderPlugin' object at 0x7fdad4ea2d30> |
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 0x7fdad4e8cac8> |
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 0x7fdad4e8cac8> |
/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': 'HSBi6jmqo2ZoLBERoWYR8aPTTgMgkkg949Vyqpyvzg4=', 'timestamp': '2024-03-29T10:00:01Z'}}}} |
http_response | <Response [403]> |
r | <Response [403]> |
self | <pinogy_available_pets.pos_api.PWAPI object at 0x7fdad4e8cac8> |
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.195.23.152' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REAL_IP | '44.195.23.152' |
PATH_INFO | '/about/testimonials/' |
QUERY_STRING | '' |
REMOTE_ADDR | '172.17.0.1' |
REMOTE_PORT | '65164' |
REQUEST_METHOD | 'GET' |
REQUEST_URI | '/about/testimonials/' |
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 0x7fdad53689f0> |
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.