'NoneType' object has no attribute 'file'
Request Method: | GET |
---|---|
Request URL: | http://www.fairhill.org/academics/graduation-requirements/ |
Django Version: | 3.2.23 |
Exception Type: | AttributeError |
Exception Value: | 'NoneType' object has no attribute 'file' |
Exception Location: | /app/page/blocks/link_block.py, line 22, in href |
Python Executable: | /app/.heroku/python/bin/python |
Python Version: | 3.9.15 |
Python Path: | ['/app/.heroku/python/bin', '/app', '/app/.heroku/python/lib/python39.zip', '/app/.heroku/python/lib/python3.9', '/app/.heroku/python/lib/python3.9/lib-dynload', '/app/.heroku/python/lib/python3.9/site-packages'] |
Server time: | Thu, 28 Mar 2024 09:31:22 +0000 |
In template /app/page/templates/blocks/partials/text_column_block_partial.html
, error at line 3
1 | |
---|---|
2 | {% if self.button_link.link_type %} |
3 | {% with column_width=self.column_width column_header=self.text_header column_content=self.text_content button_style=self.button_link.button_style button_text=self.button_link.link_text button_link=self.button_link.full_href link_opens_in_new_tab=self.button_link.link_opens_in_new_tab list_style=self.list_style subheader=self.text_subheader %} |
4 | {% include "blocks/partials/text_column_partial.html" %} |
5 | {% endwith %} |
6 | {% else %} |
7 | {% with column_width=self.column_width column_header=self.text_header column_content=self.text_content list_style=self.list_style subheader=self.text_subheader %} |
8 | {% include "blocks/partials/text_column_partial.html" %} |
9 | {% endwith %} |
10 | {% endif %} |
/app/.heroku/python/lib/python3.9/site-packages/django/core/handlers/exception.py
, line 47, in inner
response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)
return response
return inner
else:
@wraps(get_response)
def inner(request):
try:
response = get_response(request)…
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | AttributeError("'NoneType' object has no attribute 'file'") |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7fbd99e84ca0>> |
request | <WSGIRequest: GET '/academics/graduation-requirements/'> |
/app/.heroku/python/lib/python3.9/site-packages/django/core/handlers/base.py
, line 204, in _get_response
response,
middleware_method,
name='%s.process_template_response' % (
middleware_method.__self__.__class__.__name__,
)
)
try:
response = response.render()…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
return response
Variable | Value |
---|---|
callback | <function serve at 0x7fbd98618820> |
callback_args | ('academics/graduation-requirements/',) |
callback_kwargs | {} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fbd99b671c0>> |
request | <WSGIRequest: GET '/academics/graduation-requirements/'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fbd99e84ca0> |
wrapped_callback | <function serve at 0x7fbd98618820> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/response.py
, line 105, in render
If the content has already been rendered, this is a no-op.
Return the baked response instance.
"""
retval = self
if not self._is_rendered:
self.content = self.rendered_content…
for post_callback in self._post_render_callbacks:
newretval = post_callback(retval)
if newretval is not None:
retval = newretval
return retval
Variable | Value |
---|---|
retval | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/response.py
, line 83, in rendered_content
This *does not* set the final content of the response. To set the
response content, you must either call render(), or set the
content explicitly using the value of this property.
"""
template = self.resolve_template(self.template_name)
context = self.resolve_context(self.context_data)
return template.render(context, self._request)…
def add_post_render_callback(self, callback):
"""Add a new post-rendering callback.
If the response has already been rendered,
invoke the callback immediately.
Variable | Value |
---|---|
context | {'page': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'self': <DefaultPage: Graduation Requirements>} |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
template | <django.template.backends.django.Template object at 0x7fbd976c1b80> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/backends/django.py
, line 61, in render
@property
def origin(self):
return self.template.origin
def render(self, context=None, request=None):
context = make_context(context, request, autoescape=self.backend.engine.autoescape)
try:
return self.template.render(context)…
except TemplateDoesNotExist as exc:
reraise(exc, self.backend)
def copy_exception(exc, backend=None):
"""
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
request | <WSGIRequest: GET '/academics/graduation-requirements/'> |
self | <django.template.backends.django.Template object at 0x7fbd976c1b80> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 170, in render
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)…
else:
return self._render(context)
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
self | <django.template.base.Template object at 0x7fbd97678af0> |
/app/.heroku/python/lib/python3.9/site-packages/django/test/utils.py
, line 100, in instrumented_test_render
def instrumented_test_render(self, context):
"""
An instrumented Template render method, providing a signal that can be
intercepted by the test Client.
"""
template_rendered.send(sender=self, template=self, context=context)
return self.nodelist.render(context)…
class _TestState:
pass
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
self | <django.template.base.Template object at 0x7fbd97678af0> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
node | <ExtendsNode: extends "base.html"> |
self | [<ExtendsNode: extends "base.html">] |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
self | <ExtendsNode: extends "base.html"> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/loader_tags.py
, line 150, in render
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)…
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, extra_context=None, isolated_context=False, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x7fbd97910670> |
blocks | {'body_class': <Block Node: body_class. Contents: []>, 'content': <Block Node: content. Contents: []>, 'extra_css': <Block Node: extra_css. Contents: [<TextNode: '\n '>, <TextNode: '\n '>]>, 'extra_js': <Block Node: extra_js. Contents: [<TextNode: '\n '>, <TextNode: '\n '>]>, 'title': <Block Node: title. Contents: [<TextNode: '\n '>, <IfNode>, <TextNode: '\n '>]>, 'title_suffix': <Block Node: title_suffix. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7fbd97754190>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>]>} |
compiled_parent | <django.template.base.Template object at 0x7fbd978307f0> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
node | <django.template.defaulttags.LoadNode object at 0x7fbd97919dc0> |
self | <ExtendsNode: extends "base.html"> |
/app/.heroku/python/lib/python3.9/site-packages/django/test/utils.py
, line 100, in instrumented_test_render
def instrumented_test_render(self, context):
"""
An instrumented Template render method, providing a signal that can be
intercepted by the test Client.
"""
template_rendered.send(sender=self, template=self, context=context)
return self.nodelist.render(context)…
class _TestState:
pass
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
self | <django.template.base.Template object at 0x7fbd978307f0> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n <div class="page-content">\n ' |
bits | ['', '\n\n<!DOCTYPE html>\n<html class="no-js" lang="en">\n<head>\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-PQ7R4MM');</script>\r\n" '<!-- End Google Tag Manager -->\n' ' ', '\n <meta charset="utf-8"/>\n <title>\n ', '\n Graduation Requirements\n ', '\n ', '\n \n - Fairhill\n ', '\n </title>\n <meta name="keywords" content="', 'None', '">\n <meta name="description" content="', '', '">\n' ' <meta name="viewport" content="width=device-width, initial-scale=1"/>\n' ' ', '', '\n\n ', '\n <link rel="stylesheet" type="text/css" href="', 'https://d1hnjpaf1y8pkb.cloudfront.net/public/css/style.min.css', '">\n\n ', '\n \n ', '\n\n <link rel="shortcut icon" href="', 'https://d1hnjpaf1y8pkb.cloudfront.net/public/images/favicon.ico', '"/>\n <link rel="icon" type="image/png" href="', 'https://d1hnjpaf1y8pkb.cloudfront.net/public/images/favicon.png', '">\n\n ', '<link rel="preload" ' 'href="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css" ' 'as="style" ' 'onload="this.onload=null;this.rel=\'stylesheet\'"/><noscript><link ' 'href="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css" ' 'rel="stylesheet"></noscript>', '\n' ' <script ' 'src="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js"></script>\n' '\n' '\n' ' <link rel="preconnect" href="https://fonts.googleapis.com">\n' ' <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>\n' ' ', '<link rel="preload" ' 'href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,700;1,400;1,700&display=swap" ' 'as="style" ' 'onload="this.onload=null;this.rel=\'stylesheet\'"/><noscript><link ' 'href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,700;1,400;1,700&display=swap" ' 'rel="stylesheet"></noscript>', '\n\n\n <link rel="stylesheet" type="text/css" href="', 'https://d1hnjpaf1y8pkb.cloudfront.net/public/css/aos.css', '">\n\n <script async type="text/javascript" src="', 'https://d1hnjpaf1y8pkb.cloudfront.net/public/js/lazysizes.min.js', '"></script>\n <script type="text/javascript" src="', 'https://d1hnjpaf1y8pkb.cloudfront.net/public/js/aos.js', '"></script>\n' ' <script>\n' ' /*! modernizr 3.6.0 (Custom Build) | MIT *\n' ' * https://modernizr.com/download/?-webp-setclasses !*/\n' ' !function(e,A,n){function o(e){var ' 'A=u.className,n=l._config.classPrefix||"";if(c&&(A=A.baseVal),l._config.enableJSClass){var ' 'o=new ' 'RegExp("(^|\\\\s)"+n+"no-js(\\\\s|$)");A=A.replace(o,"$1"+n+"js$2")}l._config.enableClasses&&(A+=" ' '"+n+e.join(" "+n),c?u.className.baseVal=A:u.className=A)}function ' 'a(e,A){return typeof e===A}function t(e,A){if("object"==typeof e)for(var n ' 'in e)f(e,n)&&t(n,e[n]);else{var ' 'a=(e=e.toLowerCase()).split("."),i=l[a[0]];if(2==a.length&&(i=i[a[1]]),void ' '0!==i)return l;A="function"==typeof ' 'A?A():A,1==a.length?l[a[0]]=A:(!l[a[0]]||l[a[0]]instanceof ' 'Boolean||(l[a[0]]=new ' 'Boolean(l[a[0]])),l[a[0]][a[1]]=A),o([(A&&0!=A?"":"no-")+a.join("-")]),l._trigger(e,A)}return ' 'l}var ' 'i=[],s=[],r={_version:"3.6.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,A){var ' 'n=this;setTimeout(function(){A(n[e])},0)},addTest:function(e,A,n){s.push({name:e,fn:A,options:n})},addAsyncTest:function(e){s.push({name:null,fn:e})}},l=function(){};l.prototype=r,l=new ' 'l;var ' 'f,u=A.documentElement,c="svg"===u.nodeName.toLowerCase();!function(){var ' 'e={}.hasOwnProperty;f=a(e,"undefined")||a(e.call,"undefined")?function(e,A){return ' 'A in e&&a(e.constructor.p… <trimmed 6422 bytes string> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
node | <Block Node: content. Contents: []> |
self | [<django.template.defaulttags.LoadNode object at 0x7fbd97919dc0>, <TextNode: '\n\n<!DOCTYPE html>\n<html c'>, <IfNode>, <TextNode: '\n <meta charset="utf-8'>, <Block Node: title. Contents: [<TextNode: '\n '>, <IfNode>, <TextNode: '\n '>]>, <TextNode: '\n '>, <Block Node: title_suffix. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7fbd97754190>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>]>, <TextNode: '\n </title>\n <meta n'>, <Variable Node: page.meta_keywords>, <TextNode: '">\n <meta name="descri'>, <Variable Node: page.meta_description>, <TextNode: '">\n <meta name="viewpo'>, <Variable Node: PAGE_METADATA|safe>, <TextNode: '\n\n '>, <TextNode: '\n <link rel="styleshee'>, <django.templatetags.static.StaticNode object at 0x7fbd978faa60>, <TextNode: '">\n\n '>, <Block Node: extra_css. Contents: [<TextNode: '\n '>, <TextNode: '\n '>]>, <TextNode: '\n\n <link rel="shortcut'>, <django.templatetags.static.StaticNode object at 0x7fbd976cf250>, <TextNode: '"/>\n <link rel="icon" '>, <django.templatetags.static.StaticNode object at 0x7fbd976cf3d0>, <TextNode: '">\n\n '>, <django.template.library.SimpleNode object at 0x7fbd976cf3a0>, <TextNode: '\n <script src="https:/'>, <django.template.library.SimpleNode object at 0x7fbd976cf4f0>, <TextNode: '\n\n\n <link rel="stylesh'>, <django.templatetags.static.StaticNode object at 0x7fbd9784bbe0>, <TextNode: '">\n\n <script async typ'>, <django.templatetags.static.StaticNode object at 0x7fbd9784bdc0>, <TextNode: '"></script>\n <script t'>, <django.templatetags.static.StaticNode object at 0x7fbd975b3610>, <TextNode: '"></script>\n <script>\n'>, <Block Node: body_class. Contents: []>, <TextNode: '">\n '>, <django.template.library.SimpleNode object at 0x7fbd975b37f0>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n'>, <TextNode: '\n <div class="page-conte'>, <Block Node: content. Contents: []>, <TextNode: '\n </div>\n\n\n '>, <TextNode: '\n <script>\n AOS.init('>, <Block Node: extra_js. Contents: [<TextNode: '\n '>, <TextNode: '\n '>]>, <TextNode: '\n\n <script\n src="http'>] |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
self | <Block Node: content. Contents: []> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/loader_tags.py
, line 62, in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
block.context = context
context['block'] = block
result = block.nodelist.render(context)…
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
block | <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7fbd97910430>, <TextNode: '\n <main class="pt-[6.5'>, <ForNode: for block in page.body, tail_len: 3>, <TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7fbd97830c10>, <TextNode: '\n </main>\n'>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7fbd97910670> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
push | <Block Node: content. Contents: [<TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7fbd97910430>, <TextNode: '\n <main class="pt-[6.5'>, <ForNode: for block in page.body, tail_len: 3>, <TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7fbd97830c10>, <TextNode: '\n </main>\n'>]> |
self | <Block Node: content. Contents: []> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n <main class="pt-[6.5rem] lg:pt-[9.5rem]">\n ' |
bits | ['\n ', '\n' '<nav\n' ' class="fixed z-40 w-full min-h-[5rem] lg:min-h-[6.6rem] transition-all ' 'bg-primary-dark">\n' '\n' ' \n' ' <div class="pl-4 z-40 bg-nav h-8 lg:h-12 super-menu">\n' ' <div class="container h-full">\n' ' <ul class="flex justify-end h-full -mr-1">\n' ' \n' ' <li class="flex items-center order-1 \n' ' ">\n' ' <a class="py-4 px-4 uppercase text-12 lg:text-14 font-semibold"\n' ' href="https://parents.fairhill.org">Parents</a>\n' ' </li>\n' ' \n' ' <li class="flex items-center \n' ' active ">\n' ' <a class="py-4 px-4 uppercase text-12 lg:text-14 font-semibold"\n' ' href="https://www.fairhill.org">Fairhill</a>\n' ' </li>\n' ' \n' ' </ul>\n' ' </div>\n' ' </div>\n' ' <div class="container">\n' ' \n' ' <div class="flex flex-shrink-0 items-center pl-4 z-40 h-full relative">\n' ' <a href="/"\n' ' class="transition-all logo w-full h-[6.6rem] w-48">\n' ' \n' ' \n' ' \n' ' <picture>\n' ' <source ' 'srcset="https://d1hnjpaf1y8pkb.cloudfront.net/public/images/fairhill-logo-white.width-225.format-webp.webp" ' 'type="image/webp">\n' ' <source ' 'srcset="https://d1hnjpaf1y8pkb.cloudfront.net/public/images/fairhill-logo-white.width-225.png" ' 'type="image/png">\n' ' <img ' 'src="https://d1hnjpaf1y8pkb.cloudfront.net/public/images/fairhill-logo-white.width-225.png" ' 'alt="Fairhill Logo"\n' ' height="57"\n' ' width="225" class="h-full w-full object-contain">\n' ' </picture>\n' ' \n' ' </a>\n' ' <ul class="menu flex-1 justify-end items-center hidden lg:flex">\n' ' \n' ' \n' ' <li class="">\n' ' \n' ' \n' '<a href="https://www.fairhill.org/coming-soon/" class="px-4 py-11 block ' 'text-white hover:text-secondary text-14 ">\n' ' Campus Updates\n' ' \n' '</a>\n' ' \n' ' \n' ' </li>\n' ' \n' ' <li class="">\n' ' \n' ' \n' '<a href="https://www.fairhill.org/why-fairhill/" class="px-4 py-11 block ' 'text-white hover:text-secondary text-14 ">\n' ' Why Fairhill\n' ' \n' '</a>\n' ' \n' ' \n' ' <ul class="dropdown-menu">\n' ' \n' ' \n' ' <li>\n' ' \n' ' \n' '<a href="https://www.fairhill.org/why-fairhill/" class="px-4 py-2 block ' 'text-white hover:text-secondary text-14 normal-case ">\n' ' Overview\n' ' \n' '</a>\n' ' \n' ' </li>\n' ' \n' ' <li>\n' ' \n' ' \n' '<a href="https://www.fairhill.org/why-fairhill/leadership/" class="px-4 ' 'py-2 block text-white hover:text-secondary text-14 normal-case ">\n' ' Leadership\n' ' \n' '</a>\n' ' \n' ' </li>\n' ' \n' ' <li>\n' ' \n' ' \n' '<a href="https://www.fairhill.org/why-fairhill/parent-testimonials/" ' 'class="px-4 py-2 block text-white hover:text-secondary text-14 normal-case ' '">\n' ' Parent Testimonials\n' ' \n' '</a>\n' ' \n' ' </li>\n' ' \n' ' \n' ' </ul>\n' ' \n' ' </li>\n' ' \n' ' <li class="">\n' ' \n' ' \n' '<a href="https://www.fairhill.org/activities/calendar/" class="px-4 ' 'py-11 block text-white hover:text-secondary text-14 ">\n' ' Calendar\n' ' \n' '</a>\n' ' \n' ' \n' … <trimmed 41400 bytes string> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
node | <ForNode: for block in page.body, tail_len: 3> |
self | [<TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7fbd97910430>, <TextNode: '\n <main class="pt-[6.5'>, <ForNode: for block in page.body, tail_len: 3>, <TextNode: '\n '>, <django.template.loader_tags.IncludeNode object at 0x7fbd97830c10>, <TextNode: '\n </main>\n'>] |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
self | <ForNode: for block in page.body, tail_len: 3> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/defaulttags.py
, line 214, in render
unpacked_vars = dict(zip(self.loopvars, item))
pop_context = True
context.update(unpacked_vars)
else:
context[self.loopvars[0]] = item
for node in self.nodelist_loop:
nodelist.append(node.render_annotated(context))…
if pop_context:
# Pop the loop variables pushed on to the context to avoid
# the context ending up in an inconsistent state when other
# tags (e.g., include and with) push data to context.
context.pop()
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
i | 1 |
item | <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])> |
len_values | 6 |
loop_dict | {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4} |
node | <WithNode> |
nodelist | ['\n ', '\n' ' \n' '\n' '<section\n' ' class="page-block relative overflow-hidden \n' ' internal-hero-block\n' ' bg-color\n' ' block-0"\n' ' \n' ' style="\n' ' padding: 0;\n' '">\n' ' \n' '\n' ' <div class="absolute left-0 right-0 top-0 bottom-0">\n' ' \n' ' \n' '\n' ' \n' ' \n' ' \n' ' \n' '\n' ' <div class="overlay relative h-full">\n' ' <picture>\n' ' <source ' 'srcset="https://d1hnjpaf1y8pkb.cloudfront.net/public/images/Graduation-1251066720.2e16d0ba.fill-768x400.format-webp.webp ' '768w,\n' ' ' 'https://d1hnjpaf1y8pkb.cloudfront.net/public/images/Graduation-12510667.2e16d0ba.fill-1200x1200.format-webp.webp ' '682w"\n' ' type="image/webp">\n' '\n' ' <source ' 'srcset="https://d1hnjpaf1y8pkb.cloudfront.net/public/images/Graduation-1251066720-1024x1024.2e16d0ba.fill-768x400.jpg ' '768w,\n' ' ' 'https://d1hnjpaf1y8pkb.cloudfront.net/public/images/Graduation-1251066720-1024x1024.2e16d0ba.fill-1200x1200.jpg ' '682w"\n' ' type="image/png">\n' '\n' ' <img ' 'src="https://d1hnjpaf1y8pkb.cloudfront.net/public/images/Graduation-1251066720-1024x1024.2e16d0ba.fill-768x400.jpg" ' 'alt="Stack of books on table in library"\n' ' class="lazyload relative w-full h-full object-cover ' 'object-center"\n' ' height="682"\n' ' width="682">\n' ' </picture>\n' ' </div>\n' ' </div>\n' ' <div\n' ' class="container py-40 relative w-full md:grid grid-cols-12 ">\n' ' <div class="col-span-5">\n' ' <h1 class=" header-line pb-5 text-white mb-5 text-32 ' 'lg:text-50">Graduation</h1>\n' ' <div class="text-white text-18"><p data-block-key="gajoq">Requirements ' 'and Credit Classes</p></div>\n' '\n' ' \n' ' </div>\n' '\n' ' </div>\n' '\n' '</section>\n' '\n' ' ', '\n ', '\n '] |
num_loopvars | 1 |
parentloop | {} |
pop_context | False |
self | <ForNode: for block in page.body, tail_len: 3> |
unpack | False |
values | <StreamValue [<block internal_hero_block: StructValue([('header', 'Graduation'), ('subheader', <wagtail.core.rich_text.RichText object at 0x7fbd975d4400>), ('desktop_image', <CustomImage: Graduation-1251066720-1024x1024.jpg>), ('mobile_image', <CustomImage: Graduation-1251066720-1024x1024.jpg>), ('internal_hero_style', 'left-hero'), ('button_link', LinkBlockStructValue([('link_type', ''), ('link_opens_in_new_tab', None), ('url', None), ('page', None), ('document', None), ('email', None), ('phone', None), ('anchor', None), ('link_text', None)]))])>, <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, <block image_text_block: StructValue([('block_id', ''), ('image_order', 'right'), ('image', <CustomImage: IMG_0023-2015-graduation-throwing-caps-class-of-2015-2048x1365>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'High School Credit Classes'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fc3d0>), ('button_link', LinkBlockStructValue([('link_type', ''), ('link_opens_in_new_tab', False), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', '')]))])), ('custom_list', <StreamValue []>)])>, <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: Jr-Ring-2>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', ''), ('text_header', 'Class rings'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd90>), ('button_link', LinkBlockStructValue([('link_type', ''), ('link_opens_in_new_tab', False), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', '')]))])), ('custom_list', <StreamValue []>)])>, <block three_column_image_link_block: StructValue([('block_id', ''), ('block_header', 'More About Fairhill'), ('button_link', LinkBlockStructValue([('link_type', ''), ('link_opens_in_new_tab', False), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', '')])), ('image_links', <StreamValue [<block image_link_block: StructValue([('image', <CustomImage: HowToApply_BoyOnLaptop_0035-(1).jpg>), ('block_title', 'How to Apply'), ('link', LinkBlockStructValue([('link_type', 'page'), ('link_opens_in_new_tab', False), ('url', ''), ('page', <Page: How to Apply>), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Learn more')]))])>, <block image_link_block: StructValue([('image', <CustomImage: FairhillFactsB_0084>), ('block_title', 'Fairhill Facts and Tuition'), ('link', LinkBlockStructValue([('link_type', 'page'), ('link_opens_in_new_tab', False), ('url', ''), ('page', <Page: Fairhill Facts and Tuition>), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Learn more')]))])>, <block image_link_block: StructValue([('image', <CustomImage: YoungStudentsSittingInClass_2740>), ('block_title', 'Middle School Curriculum'), ('link', LinkBlockStructValue([('link_type', 'page'), ('link_opens_in_new_tab', False), ('url', ''), ('page', <Page: Middle School>), ('document', <Document: FH_Fall-Winter-2021-2022>), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Learn more')]))])>]>)])>, <block quote_block: StructValue([('block_id', ''), ('quote_text', 'The best part, was that she was happy every day when I picked her up after school. … <trimmed 4349 bytes string> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
self | <WithNode> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/defaulttags.py
, line 519, in render
def __repr__(self):
return '<%s>' % self.__class__.__name__
def render(self, context):
values = {key: val.resolve(context) for key, val in self.extra_context.items()}
with context.push(**values):
return self.nodelist.render(context)…
@register.tag
def autoescape(parser, token):
"""
Force autoescape behavior for this block.
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
self | <WithNode> |
values | {'unique_number': 1} |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n ' |
bits | ['\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
node | <wagtail.core.templatetags.wagtailcore_tags.IncludeBlockNode object at 0x7fbd97830e20> |
self | [<TextNode: '\n '>, <wagtail.core.templatetags.wagtailcore_tags.IncludeBlockNode object at 0x7fbd97830e20>, <TextNode: '\n '>] |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
self | <wagtail.core.templatetags.wagtailcore_tags.IncludeBlockNode object at 0x7fbd97830e20> |
/app/.heroku/python/lib/python3.9/site-packages/wagtail/core/templatetags/wagtailcore_tags.py
, line 134, in render
else:
new_context = {}
if self.extra_context:
for var_name, var_value in self.extra_context.items():
new_context[var_name] = var_value.resolve(context)
output = value.render_as_block(context=new_context)…
else:
output = value
if context.autoescape:
return conditional_escape(output)
else:
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <DefaultPage: Graduation Requirements>, 'self': <DefaultPage: Graduation Requirements>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>}] |
new_context | {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'None': None, 'True': True, 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'csrf_token': <SimpleLazyObject: <function csrf.<locals>._get_val at 0x7fbd9771bd30>>, 'forloop': {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'self': <DefaultPage: Graduation Requirements>, 'settings': {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}, 'unique_number': 1, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>} |
self | <wagtail.core.templatetags.wagtailcore_tags.IncludeBlockNode object at 0x7fbd97830e20> |
value | <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])> |
/app/.heroku/python/lib/python3.9/site-packages/wagtail/core/blocks/base.py
, line 419, in render_as_block
"""
Alias for render; the include_block tag will specifically check for the presence of a method
with this name. (This is because {% include_block %} is just as likely to be invoked on a bare
value as a BoundBlock. If we looked for a `render` method instead, we'd run the risk of finding
an unrelated method that just happened to have that name - for example, when called on a
PageChooserBlock it could end up calling page.render.
"""
return self.block.render(self.value, context=context)…
def id_for_label(self):
return self.block.id_for_label(self.prefix)
def __str__(self):
"""Render the value according to the block's native rendering"""
Variable | Value |
---|---|
context | {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'None': None, 'True': True, 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'forloop': {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'self': <DefaultPage: Graduation Requirements>, 'settings': {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}, 'unique_number': 1, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>} |
self | <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])> |
/app/.heroku/python/lib/python3.9/site-packages/wagtail/core/blocks/base.py
, line 221, in render
return self.render_basic(value, context=context)
if context is None:
new_context = self.get_context(value)
else:
new_context = self.get_context(value, parent_context=dict(context))
return mark_safe(render_to_string(template, new_context))…
def get_api_representation(self, value, context=None):
"""
Can be used to customise the API response and defaults to the value returned by get_prep_value.
"""
return self.get_prep_value(value)
Variable | Value |
---|---|
context | {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'None': None, 'True': True, 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'forloop': {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'self': <DefaultPage: Graduation Requirements>, 'settings': {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}, 'unique_number': 1, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>} |
new_context | {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'None': None, 'True': True, 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'forloop': {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School ' 'Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'settings': {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}, 'unique_number': 1, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', … <trimmed 5342 bytes string> |
self | <page.blocks.image_text_block.ImageTextBlock object at 0x7fbd99da1760> |
template | 'blocks/image_text_block.html' |
value | StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]) |
/app/.heroku/python/lib/python3.9/site-packages/django/template/loader.py
, line 62, in render_to_string
template_name may be a string or a list of strings.
"""
if isinstance(template_name, (list, tuple)):
template = select_template(template_name, using=using)
else:
template = get_template(template_name, using=using)
return template.render(context, request)…
def _engine_list(using=None):
return engines.all() if using is None else [engines[using]]
Variable | Value |
---|---|
context | {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'None': None, 'True': True, 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'forloop': {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School ' 'Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'settings': {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}, 'unique_number': 1, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', … <trimmed 5342 bytes string> |
request | None |
template | <django.template.backends.django.Template object at 0x7fbd982c2d60> |
template_name | 'blocks/image_text_block.html' |
using | None |
/app/.heroku/python/lib/python3.9/site-packages/django/template/backends/django.py
, line 61, in render
@property
def origin(self):
return self.template.origin
def render(self, context=None, request=None):
context = make_context(context, request, autoescape=self.backend.engine.autoescape)
try:
return self.template.render(context)…
except TemplateDoesNotExist as exc:
reraise(exc, self.backend)
def copy_exception(exc, backend=None):
"""
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
request | None |
self | <django.template.backends.django.Template object at 0x7fbd982c2d60> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 170, in render
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)…
else:
return self._render(context)
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
self | <django.template.base.Template object at 0x7fbd9819a1f0> |
/app/.heroku/python/lib/python3.9/site-packages/django/test/utils.py
, line 100, in instrumented_test_render
def instrumented_test_render(self, context):
"""
An instrumented Template render method, providing a signal that can be
intercepted by the test Client.
"""
template_rendered.send(sender=self, template=self, context=context)
return self.nodelist.render(context)…
class _TestState:
pass
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
self | <django.template.base.Template object at 0x7fbd9819a1f0> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
node | <ExtendsNode: extends "page/base_block.html"> |
self | [<ExtendsNode: extends "page/base_block.html">] |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
self | <ExtendsNode: extends "page/base_block.html"> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/loader_tags.py
, line 150, in render
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)…
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, extra_context=None, isolated_context=False, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x7fbd9791f3d0> |
blocks | {'block_class': <Block Node: block_class. Contents: []>, 'block_content': <Block Node: block_content. Contents: [<TextNode: '\n '>]>, 'block_id': <Block Node: block_id. Contents: []>, 'section_style': <Block Node: section_style. Contents: []>} |
compiled_parent | <django.template.base.Template object at 0x7fbd97a3efd0> |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
node | <django.template.defaulttags.LoadNode object at 0x7fbd9859cbb0> |
self | <ExtendsNode: extends "page/base_block.html"> |
/app/.heroku/python/lib/python3.9/site-packages/django/test/utils.py
, line 100, in instrumented_test_render
def instrumented_test_render(self, context):
"""
An instrumented Template render method, providing a signal that can be
intercepted by the test Client.
"""
template_rendered.send(sender=self, template=self, context=context)
return self.nodelist.render(context)…
class _TestState:
pass
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
self | <django.template.base.Template object at 0x7fbd97a3efd0> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '">\n ' |
bits | ['', '\n\n<section\n class="page-block relative overflow-hidden ', '\n image-text-block\n \n', '', ' block-', '1', '"\n ', '', '\n style="', '\n', '">\n '] |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
node | <Block Node: block_content. Contents: [<TextNode: '\n '>]> |
self | [<django.template.defaulttags.LoadNode object at 0x7fbd9859cbb0>, <TextNode: '\n\n<section\n class="pag'>, <Block Node: block_class. Contents: []>, <IfNode>, <TextNode: ' block-'>, <Variable Node: unique_number>, <TextNode: '"\n '>, <IfNode>, <TextNode: '\n style="'>, <Block Node: section_style. Contents: []>, <TextNode: '">\n '>, <Block Node: block_content. Contents: [<TextNode: '\n '>]>, <TextNode: '\n</section>\n'>] |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
self | <Block Node: block_content. Contents: [<TextNode: '\n '>]> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/loader_tags.py
, line 62, in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
block.context = context
context['block'] = block
result = block.nodelist.render(context)…
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
block | <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7fbd9791f3d0> |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
push | <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]> |
self | <Block Node: block_content. Contents: [<TextNode: '\n '>]> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n </div>\n </div>\n </div>\n ' |
bits | ['\n' ' <div class="container relative">\n' ' <div\n' ' class="flex flex-col lg:grid grid-cols-12 gap-x-12 cols ', ' items-center ', '">\n ', '', '\n' ' <div class="col-span-6 relative">\n' ' <div class="rounded overflow-hidden pt-6 mb-2 lg:pt-0 lg:mb-0">\n' ' <div class="', ' rounded ', ' overflow-hidden ', '', '">\n ', '', '\n ', '', '\n <picture>\n <source data-srcset="', 'https://d1hnjpaf1y8pkb.cloudfront.net/public/images/GraduatingKidsLaughing-T397.max-1200x1200.format-webp.webp', ' ', '1200', 'w"\n' ' type="image/webp">\n' ' <source data-srcset="', 'https://d1hnjpaf1y8pkb.cloudfront.net/public/images/GraduatingKidsLaughing-T397.max-1200x1200.jpg', ' ', '1200', '"\n type="image/png">\n <img src="', 'https://d1hnjpaf1y8pkb.cloudfront.net/public/images/GraduatingKidsLaughing-T397.max-1200x1200_lazy.jpg', '" data-src="', 'https://d1hnjpaf1y8pkb.cloudfront.net/public/images/GraduatingKidsLaughing-T397.max-1200x1200.jpg', '" alt="', 'Kids at graduation laughing', '"\n height="', '800', '"\n width="', '1200', '"\n' ' class="lazyload h-full w-full max-w-full object-center\n' ' ', ' object-contain ', '"\n' ' loading="lazy">\n' ' </picture>\n' '\n' ' ', '', '\n </div>\n </div>\n </div>\n '] |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
node | <IfNode> |
self | [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>] |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
self | <IfNode> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/defaulttags.py
, line 315, in render
match = condition.eval(context)
except VariableDoesNotExist:
match = None
else: # else clause
match = True
if match:
return nodelist.render(context)…
return ''
class LoremNode(Node):
def __init__(self, count, method, common):
Variable | Value |
---|---|
condition | (== (literal <django.template.base.FilterExpression object at 0x7fbd978cc040>) (literal <django.template.base.FilterExpression object at 0x7fbd978cc340>)) |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
match | True |
nodelist | [<TextNode: '\n '>, <WithNode>, <TextNode: '\n '>] |
self | <IfNode> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n ' |
bits | ['\n '] |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
node | <WithNode> |
self | [<TextNode: '\n '>, <WithNode>, <TextNode: '\n '>] |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
self | <WithNode> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/defaulttags.py
, line 519, in render
def __repr__(self):
return '<%s>' % self.__class__.__name__
def render(self, context):
values = {key: val.resolve(context) for key, val in self.extra_context.items()}
with context.push(**values):
return self.nodelist.render(context)…
@register.tag
def autoescape(parser, token):
"""
Force autoescape behavior for this block.
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
self | <WithNode> |
values | {'custom_list': <StreamValue []>} |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n ' |
bits | ['\n '] |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
node | <wagtail.core.templatetags.wagtailcore_tags.IncludeBlockNode object at 0x7fbd978cc130> |
self | [<TextNode: '\n '>, <wagtail.core.templatetags.wagtailcore_tags.IncludeBlockNode object at 0x7fbd978cc130>, <TextNode: '\n '>] |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
self | <wagtail.core.templatetags.wagtailcore_tags.IncludeBlockNode object at 0x7fbd978cc130> |
/app/.heroku/python/lib/python3.9/site-packages/wagtail/core/templatetags/wagtailcore_tags.py
, line 134, in render
else:
new_context = {}
if self.extra_context:
for var_name, var_value in self.extra_context.items():
new_context[var_name] = var_value.resolve(context)
output = value.render_as_block(context=new_context)…
else:
output = value
if context.autoescape:
return conditional_escape(output)
else:
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'block': <block image_text_block: StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)])}] |
new_context | {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'None': None, 'True': True, 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'custom_list': <StreamValue []>, 'forloop': {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4}, 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School ' 'Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'settings': {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, … <trimmed 6064 bytes string> |
self | <wagtail.core.templatetags.wagtailcore_tags.IncludeBlockNode object at 0x7fbd978cc130> |
value | StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]) |
/app/.heroku/python/lib/python3.9/site-packages/wagtail/core/blocks/struct_block.py
, line 60, in render_as_block
super().__init__(*args)
self.block = block
def __html__(self):
return self.block.render(self)
def render_as_block(self, context=None):
return self.block.render(self, context=context)…
@cached_property
def bound_blocks(self):
return collections.OrderedDict([
(name, block.bind(self.get(name)))
for name, block in self.block.child_blocks.items()
Variable | Value |
---|---|
context | {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'None': None, 'True': True, 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'custom_list': <StreamValue []>, 'forloop': {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4}, 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School ' 'Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'settings': {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, … <trimmed 6064 bytes string> |
self | StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]) |
/app/.heroku/python/lib/python3.9/site-packages/wagtail/core/blocks/base.py
, line 221, in render
return self.render_basic(value, context=context)
if context is None:
new_context = self.get_context(value)
else:
new_context = self.get_context(value, parent_context=dict(context))
return mark_safe(render_to_string(template, new_context))…
def get_api_representation(self, value, context=None):
"""
Can be used to customise the API response and defaults to the value returned by get_prep_value.
"""
return self.get_prep_value(value)
Variable | Value |
---|---|
context | {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'None': None, 'True': True, 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'custom_list': <StreamValue []>, 'forloop': {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4}, 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'self': StructValue([('block_id', ''), ('image_order', 'left'), ('image', <CustomImage: GraduatingKidsLaughing-T397.jpg>), ('crop_image_to_match_height', False), ('text_column', StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School ' 'Brochure')])), ('column_width', 'col-span-6')])), ('custom_list', <StreamValue []>)]), 'settings': {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, … <trimmed 6064 bytes string> |
new_context | {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'None': None, 'True': True, 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'custom_list': <StreamValue []>, 'forloop': {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4}, 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'self': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'settings': {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}, 'unique_number': 1, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), … <trimmed 4563 bytes string> |
self | <page.blocks.text_column_block.TextColumnBlock object at 0x7fbd99e21af0> |
template | 'blocks/partials/text_column_block_partial.html' |
value | StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]) |
/app/.heroku/python/lib/python3.9/site-packages/django/template/loader.py
, line 62, in render_to_string
template_name may be a string or a list of strings.
"""
if isinstance(template_name, (list, tuple)):
template = select_template(template_name, using=using)
else:
template = get_template(template_name, using=using)
return template.render(context, request)…
def _engine_list(using=None):
return engines.all() if using is None else [engines[using]]
Variable | Value |
---|---|
context | {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'None': None, 'True': True, 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'custom_list': <StreamValue []>, 'forloop': {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4}, 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'self': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'settings': {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}, 'unique_number': 1, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), … <trimmed 4563 bytes string> |
request | None |
template | <django.template.backends.django.Template object at 0x7fbd97a3e460> |
template_name | 'blocks/partials/text_column_block_partial.html' |
using | None |
/app/.heroku/python/lib/python3.9/site-packages/django/template/backends/django.py
, line 61, in render
@property
def origin(self):
return self.template.origin
def render(self, context=None, request=None):
context = make_context(context, request, autoescape=self.backend.engine.autoescape)
try:
return self.template.render(context)…
except TemplateDoesNotExist as exc:
reraise(exc, self.backend)
def copy_exception(exc, backend=None):
"""
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'custom_list': <StreamValue []>}] |
request | None |
self | <django.template.backends.django.Template object at 0x7fbd97a3e460> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 170, in render
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)…
else:
return self._render(context)
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'custom_list': <StreamValue []>}] |
self | <django.template.base.Template object at 0x7fbd97a3eeb0> |
/app/.heroku/python/lib/python3.9/site-packages/django/test/utils.py
, line 100, in instrumented_test_render
def instrumented_test_render(self, context):
"""
An instrumented Template render method, providing a signal that can be
intercepted by the test Client.
"""
template_rendered.send(sender=self, template=self, context=context)
return self.nodelist.render(context)…
class _TestState:
pass
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'custom_list': <StreamValue []>}] |
self | <django.template.base.Template object at 0x7fbd97a3eeb0> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n' |
bits | ['\n'] |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'custom_list': <StreamValue []>}] |
node | <IfNode> |
self | [<TextNode: '\n'>, <IfNode>] |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'custom_list': <StreamValue []>}] |
self | <IfNode> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/defaulttags.py
, line 315, in render
match = condition.eval(context)
except VariableDoesNotExist:
match = None
else: # else clause
match = True
if match:
return nodelist.render(context)…
return ''
class LoremNode(Node):
def __init__(self, count, method, common):
Variable | Value |
---|---|
condition | (literal <django.template.base.FilterExpression object at 0x7fbd97995b50>) |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'custom_list': <StreamValue []>}] |
match | 'document' |
nodelist | [<TextNode: '\n'>, <WithNode>, <TextNode: '\n'>] |
self | <IfNode> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n' |
bits | ['\n'] |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'custom_list': <StreamValue []>}] |
node | <WithNode> |
self | [<TextNode: '\n'>, <WithNode>, <TextNode: '\n'>] |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'custom_list': <StreamValue []>}] |
self | <WithNode> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/defaulttags.py
, line 517, in render
if name:
self.extra_context[name] = var
def __repr__(self):
return '<%s>' % self.__class__.__name__
def render(self, context):
values = {key: val.resolve(context) for key, val in self.extra_context.items()}…
with context.push(**values):
return self.nodelist.render(context)
@register.tag
def autoescape(parser, token):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'custom_list': <StreamValue []>}] |
self | <WithNode> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/defaulttags.py
, line 517, in <dictcomp>
if name:
self.extra_context[name] = var
def __repr__(self):
return '<%s>' % self.__class__.__name__
def render(self, context):
values = {key: val.resolve(context) for key, val in self.extra_context.items()}…
with context.push(**values):
return self.nodelist.render(context)
@register.tag
def autoescape(parser, token):
Variable | Value |
---|---|
.0 | <dict_itemiterator object at 0x7fbd9765a8b0> |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'custom_list': <StreamValue []>}] |
key | 'button_link' |
val | <django.template.base.FilterExpression object at 0x7fbd97995c40> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 671, in resolve
self.filters = filters
self.var = var_obj
def resolve(self, context, ignore_failures=False):
if isinstance(self.var, Variable):
try:
obj = self.var.resolve(context)…
except VariableDoesNotExist:
if ignore_failures:
obj = None
else:
string_if_invalid = context.template.engine.string_if_invalid
if string_if_invalid:
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'custom_list': <StreamValue []>}] |
ignore_failures | False |
self | <django.template.base.FilterExpression object at 0x7fbd97995c40> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 796, in resolve
var)
self.lookups = tuple(var.split(VARIABLE_ATTRIBUTE_SEPARATOR))
def resolve(self, context):
"""Resolve this variable against a given context."""
if self.lookups is not None:
# We're dealing with a variable that needs to be resolved
value = self._resolve_lookup(context)…
else:
# We're dealing with a literal, so it's already been "resolved"
value = self.literal
if self.translate:
is_safe = isinstance(value, SafeData)
msgid = value.replace('%', '%%')
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'custom_list': <StreamValue []>}] |
self | <Variable: 'self.button_link.full_href'> |
/app/.heroku/python/lib/python3.9/site-packages/django/template/base.py
, line 858, in _resolve_lookup
if callable(current):
if getattr(current, 'do_not_call_in_templates', False):
pass
elif getattr(current, 'alters_data', False):
current = context.template.engine.string_if_invalid
else:
try: # method call (assuming no args required)
current = current()…
except TypeError:
signature = inspect.signature(current)
try:
signature.bind()
except TypeError: # arguments *were* required
current = context.template.engine.string_if_invalid # invalid method call
Variable | Value |
---|---|
bit | 'full_href' |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: 'LhoWz5JSCBE98zDP80HUeLJDrhiXwybe38hfGLGaIhcK56aeflotRORNHDuTRM5n'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd975ea550>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97830e50>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd975eacd0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}, 'settings': <SimpleLazyObject: {'page': {'gtmsettings': <GTMSettings: Gtm settings for Fairhill [default]>, 'headerfooter': <HeaderFooter: Header & footer for Fairhill [default]>}}>, 'page': <DefaultPage: Graduation Requirements>, 'self': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'block': <Block Node: block_content. Contents: [<TextNode: '\n <div class="container '>, <IfNode>, <TextNode: '">\n '>, <IfNode>, <TextNode: '\n <div class="col-sp'>, <IfNode>, <TextNode: ' overflow-hidden '>, <IfNode>, <TextNode: '">\n '>, <wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode object at 0x7fbd97a657f0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd97a656a0>, <TextNode: '\n <picture>\n '>, <Variable Node: image_webp.url>, <TextNode: ' '>, <Variable Node: image_webp.width>, <TextNode: 'w"\n '>, <Variable Node: image.url>, <TextNode: ' '>, <Variable Node: image.width>, <TextNode: '"\n t'>, <Variable Node: image.lazy_url>, <TextNode: '" data-src="'>, <Variable Node: image.url>, <TextNode: '" alt="'>, <Variable Node: image.alt_text>, <TextNode: '"\n heig'>, <Variable Node: image.height>, <TextNode: '"\n widt'>, <Variable Node: image.width>, <TextNode: '"\n clas'>, <IfNode>, <TextNode: '"\n load'>, <IfNode>, <TextNode: '\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>]>, 'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 5, 'revcounter0': 4, 'first': False, 'last': False}, 'unique_number': 1, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd975fcd60>), ('button_link', LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])), ('column_width', 'col-span-6')]), 'image': <CustomRendition: CustomRendition object (567)>, 'image_webp': <CustomRendition: CustomRendition object (568)>, 'custom_list': <StreamValue []>}] |
current | <bound method LinkBlockStructValue.full_href of LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')])> |
self | <Variable: 'self.button_link.full_href'> |
template_name | 'blocks/partials/text_column_block_partial.html' |
/app/page/blocks/link_block.py
, line 40, in full_href
if link_type == 'email':
prefix = 'mailto:'
if link_type == 'anchor':
prefix = '#'
return prefix
def full_href(self):
return str(self.href_prefix()) + str(self.href())…
BUTTON_STYLE_CHOICES = (
(' btn-link ', 'Link Style'),
(' btn-primary ', 'Button Style'),
)
Variable | Value |
---|---|
self | LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')]) |
/app/page/blocks/link_block.py
, line 22, in href
Return extra values to the template context.
"""
link_type = self.get('link_type')
href = self.get(link_type)
if link_type == 'page':
return self.get('page').get_url()
if link_type == 'document':
return href.file.url…
return href
def href_prefix(self):
"""
Return extra values to the template context.
"""
Variable | Value |
---|---|
href | None |
link_type | 'document' |
self | LinkBlockStructValue([('link_type', 'document'), ('link_opens_in_new_tab', True), ('url', ''), ('page', None), ('document', None), ('email', ''), ('phone', ''), ('anchor', ''), ('link_text', 'Summer School Brochure')]) |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CSRF_COOKIE | 'ojGw5e9QvK7rR7P7mfzuR72XGE2NBlwOGazPcU68BqF2OEmwtAg3uaa7W0eJWzqX' |
CSRF_COOKIE_USED | True |
HTTP_ACCEPT | '*/*' |
HTTP_ACCEPT_ENCODING | 'gzip, br' |
HTTP_CDN_LOOP | 'cloudflare' |
HTTP_CF_CONNECTING_IP | '54.173.229.84' |
HTTP_CF_IPCOUNTRY | 'US' |
HTTP_CF_RAY | '86b69b592f71822d-IAD' |
HTTP_CF_VISITOR | '{"scheme":"https"}' |
HTTP_CONNECTION | 'close' |
HTTP_CONNECT_TIME | '0' |
HTTP_HOST | 'www.fairhill.org' |
HTTP_REFERER | 'http://fairhill.org/academics/graduation-requirements/' |
HTTP_TOTAL_ROUTE_TIME | '0' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_VIA | '1.1 vegur' |
HTTP_X_FORWARDED_FOR | '54.173.229.84, 172.70.175.42' |
HTTP_X_FORWARDED_PORT | '80' |
HTTP_X_FORWARDED_PROTO | 'http' |
HTTP_X_REQUEST_ID | 'a180e4cb-4f16-4f05-a9a6-bd80c1afb5a8' |
HTTP_X_REQUEST_START | '1711618282434' |
PATH_INFO | '/academics/graduation-requirements/' |
QUERY_STRING | '' |
RAW_URI | '/academics/graduation-requirements/' |
REMOTE_ADDR | '10.1.21.220' |
REMOTE_PORT | '14919' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | '0.0.0.0' |
SERVER_PORT | '59067' |
SERVER_PROTOCOL | 'HTTP/1.1' |
SERVER_SOFTWARE | 'gunicorn/20.0.4' |
gunicorn.socket | <socket.socket fd=10, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.58.22', 59067), raddr=('10.1.21.220', 14919)> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7fbd97613520> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7fbd975b8e80> |
wsgi.input_terminated | True |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
wsgi.version | (1, 0) |
app.settings.production
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['fairhill-site.herokuapp.com', 'fairhill-lp.theaxlegroup.com', 'www.fairhillschool.org', '', 'fairhillschool.org', 'fairhill.org', 'www.fairhill.org', 'parents.fairhill.org'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
AWS_ACCESS_KEY_ID | '********************' |
AWS_CLOUDFRONT_DISTROBUTION_ID | 'EY7O1G9Q998JV' |
AWS_CLOUDFRONT_SUBDOMAIN | 'd1hnjpaf1y8pkb' |
AWS_EXPIRY | 604800 |
AWS_IS_GZIPPED | True |
AWS_LOCATION | 'public' |
AWS_QUERYSTRING_AUTH | False |
AWS_S3_CUSTOM_DOMAIN | 'd1hnjpaf1y8pkb.cloudfront.net' |
AWS_S3_FILE_OVERWRITE | False |
AWS_S3_OBJECT_PARAMETERS | {'CacheControl': 'max-age=604800, s-maxage=604800, must-revalidate'} |
AWS_S3_REGION_NAME | 'us-east-1' |
AWS_SECRET_ACCESS_KEY | '********************' |
AWS_STORAGE_BUCKET_NAME | 'fairhill-site-s3' |
BASE_DIR | '/app' |
BASE_URL | 'https://www.oletyme.com' |
CACHES | {'default': {'BACKEND': 'wagtailcache.compat_backends.django_redis.RedisCache', 'LOCATION': 'redis://:p54e5a9cd3c09e34952014976eaf0a7685d4fb65b375ed6bb270d3e39cc22e1dd@ec2-44-214-176-124.compute-1.amazonaws.com:9969', 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient'}}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CLOUDFLARE_API_TOKEN | '********************' |
CLOUDFLARE_ZONE_ID | '8c95d3962c292cc8d720dccdeb20345d' |
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 0x7fbd99db45e0> |
COMPRESS_MINT_DELAY | 30 |
COMPRESS_MTIME_DELAY | 10 |
COMPRESS_OFFLINE | False |
COMPRESS_OFFLINE_CONTEXT | {'STATIC_URL': 'https://d1hnjpaf1y8pkb.cloudfront.net/'} |
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/staticfiles' |
COMPRESS_STORAGE | 'app.storage.CachedS3Boto3Storage' |
COMPRESS_TEMPLATE_FILTER_CONTEXT | {'STATIC_URL': 'https://d1hnjpaf1y8pkb.cloudfront.net/'} |
COMPRESS_URL | 'https://d1hnjpaf1y8pkb.cloudfront.net/' |
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_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | ['fairhill-site.herokuapp.com', 'fairhill-lp.theaxlegroup.com', 'www.fairhillschool.org', '', 'fairhillschool.org', 'fairhill.org', 'www.fairhill.org', 'parents.fairhill.org'] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_HEALTH_CHECKS': False, 'CONN_MAX_AGE': 600, 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'ec2-52-205-248-65.compute-1.amazonaws.com', 'NAME': 'd77e04h3em2lb0', 'OPTIONS': {'sslmode': 'require'}, 'PASSWORD': '********************', 'PORT': 5432, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'fhjomyuxpydgtm'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATA_UPLOAD_MAX_NUMBER_FILES | 100 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_AUTO_FIELD | 'django.db.models.AutoField' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'storages.backends.s3boto3.S3Boto3Storage' |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
DJANGO_ROOT | '/home/app/' |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | None |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | None |
EMAIL_PORT | None |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | True |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['page', 'mediamodels', 'wagtail_honeypot', 'storages', 'compressor', 'wagtail_lazyimages', 'wagtailfontawesomesvg', 'robots', 'wagtailmodelchooser', 'wagtailgeowidget', 'wagtail.contrib.forms', 'wagtail.contrib.settings', 'wagtail.contrib.redirects', 'wagtail.contrib.frontend_cache', 'wagtail.contrib.modeladmin', 'wagtail.contrib.table_block', 'wagtail.embeds', 'wagtail.sites', 'wagtail.users', 'wagtail.snippets', 'wagtail.documents', 'wagtail.images', 'wagtail.search', 'wagtail.admin', 'wagtail.core', 'modelcluster', 'taggit', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sitemaps', 'debug_toolbar', 'widget_tweaks', 'wagtailvideos', 'wagtailcache'] |
INTERNAL_IPS | ('10.1.7.228',) |
LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz', 'Algerian Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('ig', 'Igbo'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tg', 'Tajik'), ('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'en-us' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | [] |
LOGGING | {'disable_existing_loggers': False, 'formatters': {'simple': {'format': '%(levelname)s %(message)s'}, 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S', 'format': '%(asctime)s [%(process)d] ' '[%(levelname)s] pathname=%(pathname)s ' 'lineno=%(lineno)s funcname=%(funcName)s ' '%(message)s'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'verbose', 'level': 'DEBUG'}, 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}}, 'loggers': {'testlogger': {'handlers': ['console'], 'level': 'INFO'}}, 'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '/app/media' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ('wagtailcache.cache.UpdateCacheMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'django.middleware.gzip.GZipMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', 'wagtail.contrib.redirects.middleware.RedirectMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware', 'wagtailcache.cache.FetchFromCacheMiddleware') |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
PROJECT_DIR | '/app/app' |
REDIS_URL | 'redis://:p54e5a9cd3c09e34952014976eaf0a7685d4fb65b375ed6bb270d3e39cc22e1dd@ec2-44-214-176-124.compute-1.amazonaws.com:9969' |
ROOT_URLCONF | 'app.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'app.settings.production' |
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_DIRS | ['/app/app/static'] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'app.storage.CachedS3Boto3Storage' |
STATIC_ROOT | '/app/staticfiles' |
STATIC_URL | 'https://d1hnjpaf1y8pkb.cloudfront.net/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/app/templates'], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'wagtail.contrib.settings.context_processors.settings']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'UTC' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WAGTAILADMIN_BASE_URL | 'https://www.oletyme.com' |
WAGTAILFRONTENDCACHE | {'cloudflare': {'BACKEND': 'wagtail.contrib.frontend_cache.backends.CloudflareBackend', 'BEARER_TOKEN': '********************', 'ZONEID': '8c95d3962c292cc8d720dccdeb20345d'}} |
WAGTAILIMAGES_IMAGE_MODEL | 'mediamodels.CustomImage' |
WAGTAIL_ENABLE_UPDATE_CHECK | False |
WAGTAIL_SITE_NAME | 'Fairhill' |
WSGI_APPLICATION | 'app.wsgi.application' |
X_FRAME_OPTIONS | 'DENY' |
YEAR_MONTH_FORMAT | 'F Y' |
You’re seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard page generated by the handler for this status code.