'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 11:53:27 +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 0x7fbd9763a430> |
/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 0x7fbd9763a430> |
/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 0x7fbd97679490> |
/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 0x7fbd97679490> |
/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 0x7fbd979dd940> |
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 0x7fbd982ceaf0>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>]>} |
compiled_parent | <django.template.base.Template object at 0x7fbd97663670> |
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 0x7fbd979abbe0> |
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 0x7fbd97663670> |
/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 0x7fbd979abbe0>, <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 0x7fbd982ceaf0>, <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 0x7fbd975e0df0>, <TextNode: '">\n\n '>, <Block Node: extra_css. Contents: [<TextNode: '\n '>, <TextNode: '\n '>]>, <TextNode: '\n\n <link rel="shortcut'>, <django.templatetags.static.StaticNode object at 0x7fbd99761be0>, <TextNode: '"/>\n <link rel="icon" '>, <django.templatetags.static.StaticNode object at 0x7fbd976f7fa0>, <TextNode: '">\n\n '>, <django.template.library.SimpleNode object at 0x7fbd9784c250>, <TextNode: '\n <script src="https:/'>, <django.template.library.SimpleNode object at 0x7fbd9784c7c0>, <TextNode: '\n\n\n <link rel="stylesh'>, <django.templatetags.static.StaticNode object at 0x7fbd979e1a60>, <TextNode: '">\n\n <script async typ'>, <django.templatetags.static.StaticNode object at 0x7fbd982657c0>, <TextNode: '"></script>\n <script t'>, <django.templatetags.static.StaticNode object at 0x7fbd98265040>, <TextNode: '"></script>\n <script>\n'>, <Block Node: body_class. Contents: []>, <TextNode: '">\n '>, <django.template.library.SimpleNode object at 0x7fbd98265a00>, <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 0x7fbd981ba8e0>, <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 0x7fbd978c7fa0>, <TextNode: '\n </main>\n'>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7fbd979dd940> |
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 0x7fbd981ba8e0>, <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 0x7fbd978c7fa0>, <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 0x7fbd981ba8e0>, <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 0x7fbd978c7fa0>, <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 0x7fbd979ab910>), ('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 0x7fbd97a3bbb0>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab040>), ('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 0x7fbd98799df0>), ('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 0x7fbd976e7af0> |
self | [<TextNode: '\n '>, <wagtail.core.templatetags.wagtailcore_tags.IncludeBlockNode object at 0x7fbd976e7af0>, <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 0x7fbd976e7af0> |
/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 0x7fbd979ab910>), ('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 0x7fbd97b6aee0>>, 'forloop': {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, '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 0x7fbd977e6f40>>} |
self | <wagtail.core.templatetags.wagtailcore_tags.IncludeBlockNode object at 0x7fbd976e7af0> |
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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'forloop': {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, '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 0x7fbd977e6f40>>} |
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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'forloop': {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, '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 0x7fbd977e6f40>>} |
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 0x7fbd979ab910>), ('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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'forloop': {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, '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 0x7fbd979ab910>), ('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 0x7fbd977e6f40>>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'forloop': {'counter': 2, 'counter0': 1, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 5, 'revcounter0': 4}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, '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 0x7fbd979ab910>), ('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 0x7fbd977e6f40>>, '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 0x7fbd982d1460> |
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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd982d1460> |
/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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd97948910> |
/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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd97948910> |
/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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd97a3de20> |
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 0x7fbd97a3dcd0> |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd97a53eb0> |
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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd97a3dcd0> |
/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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd97a53eb0>, <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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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 0x7fbd97a3de20> |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd977b22b0>) (literal <django.template.base.FilterExpression object at 0x7fbd977b2c10>)) |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979958b0> |
self | [<TextNode: '\n '>, <wagtail.core.templatetags.wagtailcore_tags.IncludeBlockNode object at 0x7fbd979958b0>, <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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979958b0> |
/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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, '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 0x7fbd977e6ac0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, '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 0x7fbd979ab910>), ('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 0x7fbd979958b0> |
value | StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, '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 0x7fbd977e6ac0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, '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 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, '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 0x7fbd977e6ac0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, '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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, '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 0x7fbd977e6ac0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, '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 0x7fbd979ab910>), ('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 0x7fbd977e6f40>>, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd979ab910>), ('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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, '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 0x7fbd977e6ac0>, 'page': <DefaultPage: Graduation Requirements>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, '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 0x7fbd979ab910>), ('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 0x7fbd977e6f40>>, 'value': StructValue([('list_style', 'book-style'), ('text_header', 'Graduation Requirements'), ('text_content', <wagtail.core.rich_text.RichText object at 0x7fbd979ab910>), ('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 0x7fbd9859ca60> |
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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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 0x7fbd979ab910>), ('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 0x7fbd9859ca60> |
/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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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 0x7fbd979ab910>), ('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 0x7fbd97a53dc0> |
/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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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 0x7fbd979ab910>), ('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 0x7fbd97a53dc0> |
/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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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 0x7fbd979ab910>), ('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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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 0x7fbd979ab910>), ('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 0x7fbd9859cd00>) |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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 0x7fbd979ab910>), ('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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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 0x7fbd979ab910>), ('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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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 0x7fbd979ab910>), ('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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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 0x7fbd979ab910>), ('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 0x7fbd978626d0> |
context | [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'csrf_token': <SimpleLazyObject: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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 0x7fbd979ab910>), ('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 0x7fbd97a3e5e0> |
/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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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 0x7fbd979ab910>), ('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 0x7fbd97a3e5e0> |
/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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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 0x7fbd979ab910>), ('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: '1Naz8oNr7YNBWDLwCy2wWRPi9bLxvMbmbGBq4qeSoVbXrJOlN30Z8UvnvQR0uL8U'>, 'request': <WSGIRequest: GET '/academics/graduation-requirements/'>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fbd977e6f40>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fbd97b05d90>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fbd977e6ac0>, '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 0x7fbd979ab910>), ('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 0x7fbd9774c6d0>, <TextNode: '\n '>, <wagtail.images.templatetags.wagtailimages_tags.ImageNode object at 0x7fbd985ab700>, <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 0x7fbd979ab910>), ('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 | 'kYKhGxNzaWcvHcc0H1h3lQhTwcUthALmuRb8Cze0rTARcifPSwfwxTXYSR0WgzIU' |
CSRF_COOKIE_USED | True |
HTTP_ACCEPT | '*/*' |
HTTP_ACCEPT_ENCODING | 'gzip, br' |
HTTP_CDN_LOOP | 'cloudflare' |
HTTP_CF_CONNECTING_IP | '54.144.233.198' |
HTTP_CF_IPCOUNTRY | 'US' |
HTTP_CF_RAY | '86b76b7b3f0b818c-IAD' |
HTTP_CF_VISITOR | '{"scheme":"https"}' |
HTTP_CONNECTION | 'close' |
HTTP_CONNECT_TIME | '0' |
HTTP_HOST | 'www.fairhill.org' |
HTTP_REFERER | 'https://fairhill.org/academics/graduation-requirements/' |
HTTP_TOTAL_ROUTE_TIME | '0' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_VIA | '1.1 vegur' |
HTTP_X_FORWARDED_FOR | '54.144.233.198, 172.70.135.72' |
HTTP_X_FORWARDED_PORT | '80' |
HTTP_X_FORWARDED_PROTO | 'http' |
HTTP_X_REQUEST_ID | '1ea4f827-1f09-4d4c-aaa2-d410a2774ef2' |
HTTP_X_REQUEST_START | '1711626807566' |
PATH_INFO | '/academics/graduation-requirements/' |
QUERY_STRING | '' |
RAW_URI | '/academics/graduation-requirements/' |
REMOTE_ADDR | '10.1.93.153' |
REMOTE_PORT | '19147' |
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.93.153', 19147)> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7fbd985ab4c0> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7fbd978db550> |
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.