byblos_custom/blog/blocks/wysiwyg.html
Request Method: | GET |
---|---|
Request URL: | https://byblossyr.com/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/ |
Django Version: | 4.2.10 |
Exception Type: | TemplateDoesNotExist |
Exception Value: | byblos_custom/blog/blocks/wysiwyg.html |
Exception Location: | /usr/local/lib/python3.11/site-packages/django/template/backends/django.py, line 84, in reraise |
Raised during: | wagtail.views.serve |
Python Executable: | /usr/local/bin/python |
Python Version: | 3.11.1 |
Python Path: | ['', '/usr/local/bin', '/usr/local/lib/python311.zip', '/usr/local/lib/python3.11', '/usr/local/lib/python3.11/lib-dynload', '/usr/local/lib/python3.11/site-packages'] |
Server time: | Fri, 29 Mar 2024 00:03:08 +0000 |
Django tried loading these templates, in this order:
Using engine django
:
django.template.loaders.filesystem.Loader
: /app/sites/byblossyr/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /app/themes/byblos_custom/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtailcodeblock/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /app/ahmodules/ahmedia/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /app/ahmodules/ahblocks/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /app/ahmodules/ahhome/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /app/ahmodules/blog/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /app/ahmodules/search/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /app/ahmodules/ahwagtail/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /app/ahmodules/ahforms/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /app/ahmodules/ahnavigation/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/django/contrib/sitemaps/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtail/contrib/forms/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtail/contrib/redirects/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtail/contrib/styleguide/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtail/contrib/settings/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtail/embeds/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtail/sites/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtail/users/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtail/snippets/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtail/documents/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtail/images/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtail/search/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtail/admin/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtail/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtailmedia/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/django/contrib/admin/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/django/contrib/auth/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)django.template.loaders.app_directories.Loader
: /usr/local/lib/python3.11/site-packages/wagtailmetadata/templates/byblos_custom/blog/blocks/wysiwyg.html (Source does not exist)In template /app/themes/byblos_custom/templates/byblos_custom/blog/blog_detail_page.html
, error at line 35
25 | <h1>{{ page.title }}</h1> |
---|---|
26 | <div class="post-meta"> |
27 | |
28 | {% if page.published_date %} |
29 | <span>Published Date: {{ page.published_date|date:"F, Y" }}</span> |
30 | {% endif %} |
31 | </div> |
32 | |
33 | <div class="blog-content"> |
34 | {% for block in page.body %} |
35 | {% include_block block %} |
36 | {% endfor %} |
37 | </div> |
38 | |
39 | <a class="btn btn-sm share-twitter" target="_blank" href="https://twitter.com/share?url={{ page.get_full_url|urlencode }}&text={{ page.title|urlencode }}">Share on Twitter</a> |
40 | <a class="btn btn-sm share-facebook" target="_blank" href="https://facebook.com/sharer.php?u={{ page.get_full_url|urlencode }}">Share on Facebook</a> |
41 | |
42 | |
43 | </div> |
44 | </div> |
45 | </div> |
/usr/local/lib/python3.11/site-packages/django/template/backends/django.py
, line 61, in render
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': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
request | <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'> |
self | <django.template.backends.django.Template object at 0x7f2bc26e9c90> |
/usr/local/lib/python3.11/site-packages/django/template/base.py
, line 175, 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': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
self | <Template template_string="{% extends "byblos_c..."> |
/usr/local/lib/python3.11/site-packages/django/template/base.py
, line 167, in _render
def __repr__(self):
return '<%s template_string="%s...">' % (
self.__class__.__qualname__,
self.source[:20].replace("\n", ""),
)
def _render(self, context):
return self.nodelist.render(context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
self | <Template template_string="{% extends "byblos_c..."> |
/usr/local/lib/python3.11/site-packages/django/template/base.py
, line 1005, in render
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
self | [<ExtendsNode: extends "byblos_custom/base.html">] |
/usr/local/lib/python3.11/site-packages/django/template/base.py
, line 1005, in <listcomp>
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
.0 | <list_iterator object at 0x7f2bc2629090> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
node | <ExtendsNode: extends "byblos_custom/base.html"> |
/usr/local/lib/python3.11/site-packages/django/template/base.py
, line 966, 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:
# Store the actual node that caused the exception.
if not hasattr(e, "_culprit_node"):
e._culprit_node = self
if (
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
self | <ExtendsNode: extends "byblos_custom/base.html"> |
/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py
, line 157, in render
}
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__(
Variable | Value |
---|---|
block_context | <BlockContext: blocks=defaultdict(<class 'list'>, {'body_class': [<Block Node: body_class. Contents: []>, <Block Node: body_class. Contents: [<TextNode: 'template-blog-detail'>]>], 'extra_css': [<Block Node: extra_css. Contents: [<TextNode: '\n '>, <TextNode: '\n '>]>, <Block Node: extra_css. Contents: []>], 'content': [<Block Node: content. Contents: []>], '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 0x7f2bc17bea90>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>]>], 'footer_scripts': [<Block Node: footer_scripts. Contents: [<TextNode: '\n '>, <TextNode: '\n '>]>]})> |
blocks | {'body_class': <Block Node: body_class. Contents: []>, 'content': <Block Node: content. Contents: []>, 'extra_css': <Block Node: extra_css. Contents: [<TextNode: '\n '>, <TextNode: '\n '>]>, 'footer_scripts': <Block Node: footer_scripts. 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 0x7f2bc17bea90>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>]>} |
compiled_parent | <Template template_string="{% load static wagta..."> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
node | <django.template.defaulttags.LoadNode object at 0x7f2bc17be090> |
self | <ExtendsNode: extends "byblos_custom/base.html"> |
/usr/local/lib/python3.11/site-packages/django/template/base.py
, line 167, in _render
def __repr__(self):
return '<%s template_string="%s...">' % (
self.__class__.__qualname__,
self.source[:20].replace("\n", ""),
)
def _render(self, context):
return self.nodelist.render(context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
self | <Template template_string="{% load static wagta..."> |
/usr/local/lib/python3.11/site-packages/django/template/base.py
, line 1005, in render
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
self | [<django.template.defaulttags.LoadNode object at 0x7f2bc17be090>, <TextNode: '\n\n<!DOCTYPE html>\n<html l'>, <Block Node: title. Contents: [<TextNode: '\n '>, <IfNode>, <TextNode: '\n '>]>, <TextNode: '\n '>, <Block Node: title_suffix. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7f2bc17bea90>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>]>, <TextNode: '\n </title>\n '>, StaticNode(varname=None, path=<FilterExpression '"byblos_custom/img/favicon.ico"'>), <TextNode: '">\n\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n '>, <TextNode: '\n <!-- Stylesheets'>, StaticNode(varname=None, path=<FilterExpression '"byblos_custom/css/sass-bootstrap.css"'>), <TextNode: '">\n <link rel="sty'>, StaticNode(varname=None, path=<FilterExpression '"byblos_custom/css/mezzanine.css"'>), <TextNode: '">\n <link rel="sty'>, StaticNode(varname=None, path=<FilterExpression '"byblos_custom/css/style.css"'>), <TextNode: '">\n\n '>, <django.template.library.SimpleNode object at 0x7f2bc17bfa90>, <TextNode: '\n\n '>, <Block Node: extra_css. Contents: [<TextNode: '\n '>, <TextNode: '\n '>]>, <TextNode: '\n <!-- Google tag '>, <Block Node: body_class. Contents: []>, <TextNode: '">\n '>, <django.template.library.SimpleNode object at 0x7f2bc17bfd90>, <TextNode: '\n\n <div class="box'>, <IncludeNode: template=<FilterExpression '"byblos_custom/includes/header.html"'>>, <TextNode: '\n\n '>, <Block Node: content. Contents: []>, <TextNode: '\n\n <footer id="foo'>, <django.template.defaulttags.NowNode object at 0x7f2bc17c0150>, <TextNode: ' BYBLOS SYR LLC | © '>, <django.template.defaulttags.NowNode object at 0x7f2bc17c0210>, <TextNode: ' BYBLOS CAFE LLC | © '>, <django.template.defaulttags.NowNode object at 0x7f2bc17c0290>, <TextNode: ' MOBILE FARE LLC\n '>, <TextNode: '\n <!-- jequery plu'>, StaticNode(varname=None, path=<FilterExpression '"byblos_custom/js/jquery-1.11.0.min.js"'>), <TextNode: '"></script>\n <scri'>, StaticNode(varname=None, path=<FilterExpression '"byblos_custom/js/bootstrap.js"'>), <TextNode: '"></script>\n <scri'>, StaticNode(varname=None, path=<FilterExpression '"byblos_custom/js/bootstrap-extras.js"'>), <TextNode: '"></script>\n <scri'>, StaticNode(varname=None, path=<FilterExpression '"byblos_custom/js/site.js"'>), <TextNode: '"></script>\n\n <scr'>, <Block Node: footer_scripts. Contents: [<TextNode: '\n '>, <TextNode: '\n '>]>, <TextNode: '\n </body>\n</html>\n'>] |
/usr/local/lib/python3.11/site-packages/django/template/base.py
, line 1005, in <listcomp>
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
.0 | <list_iterator object at 0x7f2bc262abc0> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
node | <Block Node: content. Contents: []> |
/usr/local/lib/python3.11/site-packages/django/template/base.py
, line 966, 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:
# Store the actual node that caused the exception.
if not hasattr(e, "_culprit_node"):
e._culprit_node = self
if (
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
self | <Block Node: content. Contents: []> |
/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py
, line 63, in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
block.context = context
context["block"] = block
result = block.nodelist.render(context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, "context"):
Variable | Value |
---|---|
block | <Block Node: content. Contents: [<TextNode: '\n<div id="contentAreaInne'>, <IfNode>, <TextNode: '\n <h1>'>, <Variable Node: page.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n </di'>, <ForNode: for block in page.body, tail_len: 3>, <TextNode: '\n </di'>, <Variable Node: page.get_full_url|urlencode>, <TextNode: '&text='>, <Variable Node: page.title|urlencode>, <TextNode: '">Share on Twitter</a>\n '>, <Variable Node: page.get_full_url|urlencode>, <TextNode: '">Share on Facebook</a>\n '>]> |
block_context | <BlockContext: blocks=defaultdict(<class 'list'>, {'body_class': [<Block Node: body_class. Contents: []>, <Block Node: body_class. Contents: [<TextNode: 'template-blog-detail'>]>], 'extra_css': [<Block Node: extra_css. Contents: [<TextNode: '\n '>, <TextNode: '\n '>]>, <Block Node: extra_css. Contents: []>], 'content': [<Block Node: content. Contents: []>], '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 0x7f2bc17bea90>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>]>], 'footer_scripts': [<Block Node: footer_scripts. Contents: [<TextNode: '\n '>, <TextNode: '\n '>]>]})> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
push | <Block Node: content. Contents: [<TextNode: '\n<div id="contentAreaInne'>, <IfNode>, <TextNode: '\n <h1>'>, <Variable Node: page.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n </di'>, <ForNode: for block in page.body, tail_len: 3>, <TextNode: '\n </di'>, <Variable Node: page.get_full_url|urlencode>, <TextNode: '&text='>, <Variable Node: page.title|urlencode>, <TextNode: '">Share on Twitter</a>\n '>, <Variable Node: page.get_full_url|urlencode>, <TextNode: '">Share on Facebook</a>\n '>]> |
self | <Block Node: content. Contents: []> |
/usr/local/lib/python3.11/site-packages/django/template/base.py
, line 1005, in render
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
self | [<TextNode: '\n<div id="contentAreaInne'>, <IfNode>, <TextNode: '\n <h1>'>, <Variable Node: page.title>, <TextNode: '</h1>\n '>, <IfNode>, <TextNode: '\n </di'>, <ForNode: for block in page.body, tail_len: 3>, <TextNode: '\n </di'>, <Variable Node: page.get_full_url|urlencode>, <TextNode: '&text='>, <Variable Node: page.title|urlencode>, <TextNode: '">Share on Twitter</a>\n '>, <Variable Node: page.get_full_url|urlencode>, <TextNode: '">Share on Facebook</a>\n '>] |
/usr/local/lib/python3.11/site-packages/django/template/base.py
, line 1005, in <listcomp>
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
.0 | <list_iterator object at 0x7f2bc29a4940> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
node | <ForNode: for block in page.body, tail_len: 3> |
/usr/local/lib/python3.11/site-packages/django/template/base.py
, line 966, 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:
# Store the actual node that caused the exception.
if not hasattr(e, "_culprit_node"):
e._culprit_node = self
if (
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
self | <ForNode: for block in page.body, tail_len: 3> |
/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py
, line 238, 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': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
i | 0 |
item | <block wysiwyg: StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)])> |
len_values | 1 |
loop_dict | {'counter': 1, 'counter0': 0, 'first': True, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0} |
node | <wagtail.templatetags.wagtailcore_tags.IncludeBlockNode object at 0x7f2bc280af50> |
nodelist | ['\n '] |
num_loopvars | 1 |
parentloop | {} |
pop_context | False |
self | <ForNode: for block in page.body, tail_len: 3> |
unpack | False |
values | <StreamValue [<block wysiwyg: StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)])>]> |
/usr/local/lib/python3.11/site-packages/django/template/base.py
, line 966, 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:
# Store the actual node that caused the exception.
if not hasattr(e, "_culprit_node"):
e._culprit_node = self
if (
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
self | <wagtail.templatetags.wagtailcore_tags.IncludeBlockNode object at 0x7f2bc280af50> |
/usr/local/lib/python3.11/site-packages/wagtail/templatetags/wagtailcore_tags.py
, line 150, 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': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
new_context | {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'None': None, 'True': True, 'block': <block wysiwyg: StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)])>, 'csrf_token': <SimpleLazyObject: <function csrf.<locals>._get_val at 0x7f2bc2893740>>, 'featured_image': <AHImageRendition: AHImageRendition object (391)>, 'forloop': {'counter': 1, 'counter0': 0, 'first': True, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'messages': <FallbackStorage: request=<ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>>, 'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f2bc26ebb90>>), 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'settings': {'SITE_TITLE': {}}, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f2bc26ebb90>>} |
self | <wagtail.templatetags.wagtailcore_tags.IncludeBlockNode object at 0x7f2bc280af50> |
value | <block wysiwyg: StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)])> |
/usr/local/lib/python3.11/site-packages/wagtail/blocks/base.py
, line 470, 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 wysiwyg: StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)])>, 'csrf_token': <SimpleLazyObject: 'e0WFXNXaXnMrWHWO7VgC3rqsWi9D05pTMmUh6Pq6XaZj79uvjlnLUg2gHAVIGXwj'>, 'featured_image': <AHImageRendition: AHImageRendition object (391)>, 'forloop': {'counter': 1, 'counter0': 0, 'first': True, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'messages': <FallbackStorage: request=<ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>>, 'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f2bc26ebb90>>), 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'settings': {'SITE_TITLE': {}}, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f2bc26ebb90>>} |
self | <block wysiwyg: StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)])> |
/usr/local/lib/python3.11/site-packages/wagtail/blocks/base.py
, line 247, 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 |
---|---|
args | {'context': {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'None': None, 'True': True, 'block': <block wysiwyg: StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)])>, 'csrf_token': <SimpleLazyObject: 'e0WFXNXaXnMrWHWO7VgC3rqsWi9D05pTMmUh6Pq6XaZj79uvjlnLUg2gHAVIGXwj'>, 'featured_image': <AHImageRendition: AHImageRendition object (391)>, 'forloop': {'counter': 1, 'counter0': 0, 'first': True, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'messages': <FallbackStorage: request=<ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>>, 'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f2bc26ebb90>>), 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'settings': {'SITE_TITLE': {}}, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f2bc26ebb90>>}, 'value': StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)])} |
context | {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'None': None, 'True': True, 'block': <block wysiwyg: StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)])>, 'csrf_token': <SimpleLazyObject: 'e0WFXNXaXnMrWHWO7VgC3rqsWi9D05pTMmUh6Pq6XaZj79uvjlnLUg2gHAVIGXwj'>, 'featured_image': <AHImageRendition: AHImageRendition object (391)>, 'forloop': {'counter': 1, 'counter0': 0, 'first': True, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'messages': <FallbackStorage: request=<ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>>, 'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f2bc26ebb90>>), 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'settings': {'SITE_TITLE': {}}, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f2bc26ebb90>>} |
new_context | {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'None': None, 'True': True, 'block': <block wysiwyg: StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)])>, 'csrf_token': <SimpleLazyObject: 'e0WFXNXaXnMrWHWO7VgC3rqsWi9D05pTMmUh6Pq6XaZj79uvjlnLUg2gHAVIGXwj'>, 'featured_image': <AHImageRendition: AHImageRendition object (391)>, 'forloop': {'counter': 1, 'counter0': 0, 'first': True, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'messages': <FallbackStorage: request=<ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>>, 'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f2bc26ebb90>>), 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>, 'self': StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)]), 'settings': {'SITE_TITLE': {}}, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f2bc26ebb90>>, 'value': StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)])} |
self | <ahmodules.blog.blocks.BlogWysiwygBlock object at 0x7f2bc378a9d0> |
template | 'byblos_custom/blog/blocks/wysiwyg.html' |
value | StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)]) |
/usr/local/lib/python3.11/site-packages/django/template/loader.py
, line 61, in render_to_string
Load a template and render it with a context. Return a 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 wysiwyg: StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)])>, 'csrf_token': <SimpleLazyObject: 'e0WFXNXaXnMrWHWO7VgC3rqsWi9D05pTMmUh6Pq6XaZj79uvjlnLUg2gHAVIGXwj'>, 'featured_image': <AHImageRendition: AHImageRendition object (391)>, 'forloop': {'counter': 1, 'counter0': 0, 'first': True, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'messages': <FallbackStorage: request=<ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>>, 'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f2bc26ebb90>>), 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>, 'self': StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)]), 'settings': {'SITE_TITLE': {}}, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f2bc26ebb90>>, 'value': StructValue([('rich_text', <wagtail.rich_text.RichText object at 0x7f2bc2888750>)])} |
request | None |
template_name | 'byblos_custom/blog/blocks/wysiwyg.html' |
using | None |
/usr/local/lib/python3.11/site-packages/django/template/loader.py
, line 19, in get_template
engines = _engine_list(using)
for engine in engines:
try:
return engine.get_template(template_name)
except TemplateDoesNotExist as e:
chain.append(e)
raise TemplateDoesNotExist(template_name, chain=chain) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def select_template(template_name_list, using=None):
"""
Load and return a template for one of the given names.
Variable | Value |
---|---|
chain | [TemplateDoesNotExist('byblos_custom/blog/blocks/wysiwyg.html')] |
engine | <django.template.backends.django.DjangoTemplates object at 0x7f2bc21ae990> |
engines | [<django.template.backends.django.DjangoTemplates object at 0x7f2bc21ae990>] |
template_name | 'byblos_custom/blog/blocks/wysiwyg.html' |
using | None |
/usr/local/lib/python3.11/site-packages/django/core/handlers/exception.py
, line 42, in inner
can rely on getting a response instead of an exception.
"""
if iscoroutinefunction(get_response):
@wraps(get_response)
async def inner(request):
try:
response = await get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^…
except Exception as exc:
response = await sync_to_async(
response_for_exception, thread_sensitive=False
)(request, exc)
return response
Variable | Value |
---|---|
exc | TemplateDoesNotExist('byblos_custom/blog/blocks/wysiwyg.html') |
get_response | <bound method BaseHandler._get_response_async of <django.core.handlers.asgi.ASGIHandler object at 0x7f2bc2b74890>> |
request | <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'> |
/usr/local/lib/python3.11/site-packages/django/core/handlers/base.py
, line 284, in _get_response_async
name="%s.process_template_response"
% (middleware_method.__self__.__class__.__name__,),
)
try:
if iscoroutinefunction(response.render):
response = await response.render()
else:
response = await sync_to_async(…
response.render, thread_sensitive=True
)()
except Exception as e:
response = await sync_to_async(
self.process_exception_by_middleware,
thread_sensitive=True,
Variable | Value |
---|---|
callback | <function serve at 0x7f2bc2083e20> |
callback_args | ('news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/',) |
callback_kwargs | {} |
middleware_method | <asgiref.sync.SyncToAsync object at 0x7f2bc2b7f310> |
request | <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'> |
response | None |
self | <django.core.handlers.asgi.ASGIHandler object at 0x7f2bc2b74890> |
wrapped_callback | <asgiref.sync.SyncToAsync object at 0x7f2bc2a25690> |
/usr/local/lib/python3.11/site-packages/django/template/response.py
, line 114, 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"> |
/usr/local/lib/python3.11/site-packages/django/template/response.py
, line 92, 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': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>} |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
template | <django.template.backends.django.Template object at 0x7f2bc26e9c90> |
/usr/local/lib/python3.11/site-packages/django/template/backends/django.py
, line 63, in render
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):
"""
Create a new TemplateDoesNotExist. Preserve its declared attributes and
template debug data but discard __traceback__, __context__, and __cause__
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'self': <BlogDetailPage: Feasting on Falafel: The Middle East's famous fried patties can be addictive>, 'request': <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'>}] |
request | <ASGIRequest: GET '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/'> |
self | <django.template.backends.django.Template object at 0x7f2bc26e9c90> |
/usr/local/lib/python3.11/site-packages/django/template/backends/django.py
, line 84, in reraise
def reraise(exc, backend):
"""
Reraise TemplateDoesNotExist while maintaining template debug information.
"""
new = copy_exception(exc, backend)
raise new from exc ^^^^^^^^^^^^^^^^^^…
def get_template_tag_modules():
"""
Yield (module_name, module_path) pairs for all installed template tag
libraries.
Variable | Value |
---|---|
backend | <django.template.backends.django.DjangoTemplates object at 0x7f2bc21ae990> |
exc | TemplateDoesNotExist('byblos_custom/blog/blocks/wysiwyg.html') |
new | TemplateDoesNotExist('byblos_custom/blog/blocks/wysiwyg.html') |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CSRF_COOKIE | 'Iw8MjcD6aXn2lCIRmAhj1ZMYVsWfQ2hA' |
CSRF_COOKIE_NEEDS_UPDATE | True |
HTTP_ACCEPT | '*/*' |
HTTP_HOST | 'byblossyr.com' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '10.42.0.1' |
HTTP_X_FORWARDED_HOST | 'byblossyr.com' |
HTTP_X_FORWARDED_PORT | '443' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_FORWARDED_SCHEME | 'https' |
HTTP_X_REAL_IP | '10.42.0.1' |
HTTP_X_REQUEST_ID | '5e6c0081eeff6fd120873c4641dbd6ce' |
HTTP_X_SCHEME | 'https' |
PATH_INFO | '/news/feasting-on-falafel-the-middle-easts-famous-fried-patties-can-be-addictive/' |
QUERY_STRING | '' |
REMOTE_ADDR | '10.42.0.231' |
REMOTE_HOST | '10.42.0.231' |
REMOTE_PORT | 48816 |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | '10.42.0.254' |
SERVER_PORT | '8000' |
wsgi.multiprocess | True |
wsgi.multithread | True |
sites.byblossyr.settings.production
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | (('AppHammer Support', 'ndlyga@apphammer.co'),) |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
AWS_ACCESS_KEY_ID | '********************' |
AWS_DEFAULT_ACL | None |
AWS_S3_CUSTOM_DOMAIN | 'd1ie27swp99xh8.cloudfront.net' |
AWS_S3_FILE_OVERWRITE | False |
AWS_S3_KMS_ENCRYPTION_KEY_ID | '********************' |
AWS_S3_OBJECT_PARAMETERS | {'SSEKMSKeyId': '********************', 'ServerSideEncryption': 'aws:kms'} |
AWS_S3_REGION_NAME | 'us-east-1' |
AWS_S3_SIGNATURE_VERSION | '********************' |
AWS_SECRET_ACCESS_KEY | '********************' |
AWS_STORAGE_BUCKET_NAME | 'byblossyr2' |
BASE_DIR | '/app/sites' |
BASE_INSTALLED_APPS | ['wagtailcodeblock', 'ahmodules.ahmedia', 'ahmodules.aicore', 'ahmodules.ahblocks', 'ahmodules.ahhome', 'ahmodules.ahpages', 'ahmodules.ahpeople', 'ahmodules.blog', 'ahmodules.search', 'ahmodules.galleries', 'ahmodules.ahwagtail', 'ahmodules.ahforms', 'ahmodules.ahnavigation', 'ahmodules.ahfooter', 'django.contrib.sitemaps', 'wagtail.contrib.forms', 'wagtail.contrib.redirects', 'wagtail.contrib.styleguide', 'wagtail.contrib.settings', 'wagtail.contrib.routable_page', 'wagtail.embeds', 'wagtail.sites', 'wagtail.users', 'wagtail.snippets', 'wagtail.documents', 'wagtail.images', 'wagtail.search', 'wagtail.admin', 'wagtail', 'wagtailmedia', 'modelcluster', 'taggit', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'wagtailmetadata', 'storages'] |
BUSINESS_DEFINITION | {'atmosphere': 'cozy', 'name': 'byblossyr LLC', 'services': ['food', 'mediterranean food'], 'tone': ['traditional', 'fun'], 'type': 'Mediterranean Restaurant'} |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_MASKED | 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 | [] |
CSRF_USE_SESSIONS | False |
CUSTOM_HOMEPAGE_MODELS | ['byblos_custom.ByblosCustomHomePage'] |
CUSTOM_PAGE_MODELS | ['byblos_custom.ByblosCustomHomePage', 'byblos_custom.ByblosCustomInnerPage'] |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_HEALTH_CHECKS': False, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'apphammer-postgres.cnemeijjdrkn.us-east-1.rds.amazonaws.com', 'NAME': 'byblossyr', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'byblossyr_db_user'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 10240 |
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 | '' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | '' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | '' |
EMAIL_PORT | 0 |
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 | ['themes.byblos_custom', 'ahmodules.food_menus', 'wagtailcodeblock', 'ahmodules.ahmedia', 'ahmodules.aicore', 'ahmodules.ahblocks', 'ahmodules.ahhome', 'ahmodules.ahpages', 'ahmodules.ahpeople', 'ahmodules.blog', 'ahmodules.search', 'ahmodules.galleries', 'ahmodules.ahwagtail', 'ahmodules.ahforms', 'ahmodules.ahnavigation', 'ahmodules.ahfooter', 'django.contrib.sitemaps', 'wagtail.contrib.forms', 'wagtail.contrib.redirects', 'wagtail.contrib.styleguide', 'wagtail.contrib.settings', 'wagtail.contrib.routable_page', 'wagtail.embeds', 'wagtail.sites', 'wagtail.users', 'wagtail.snippets', 'wagtail.documents', 'wagtail.images', 'wagtail.search', 'wagtail.admin', 'wagtail', 'wagtailmedia', 'modelcluster', 'taggit', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'wagtailmetadata', 'storages'] |
INTERNAL_IPS | [] |
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'), ('ckb', 'Central Kurdish (Sorani)'), ('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'), ('ms', 'Malay'), ('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', 'ckb', '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 | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | (('AppHammer Support', 'ndlyga@apphammer.co'),) |
MEDIA_ROOT | '/app/sites/byblossyr/media' |
MEDIA_URL | 'https://d1ie27swp99xh8.cloudfront.net/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['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', 'whitenoise.middleware.WhiteNoiseMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PEXELS_API_KEY | '********************' |
PREPEND_WWW | False |
PROJECT_DIR | '/app/sites/byblossyr' |
ROOT_URLCONF | 'sites.byblossyr.urls' |
SECRET_KEY | '********************' |
SECRET_KEY_FALLBACKS | '********************' |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_CROSS_ORIGIN_OPENER_POLICY | 'same-origin' |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | ('HTTP_X_FORWARDED_PROTO', 'https') |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | '' |
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 | 'sites.byblossyr.settings.production' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
STATICFILES_DIRS | [] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'whitenoise.storage.CompressedManifestStaticFilesStorage' |
STATIC_ROOT | '/app/sites/static' |
STATIC_URL | '/static/' |
STORAGES | {'default': {'BACKEND': 'storages.backends.s3boto3.S3Boto3Storage'}, 'staticfiles': {'BACKEND': 'whitenoise.storage.CompressedManifestStaticFilesStorage'}} |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/sites/byblossyr/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_DEPRECATED_PYTZ | False |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | True |
USE_X_FORWARDED_PORT | False |
WAGTAILADMIN_BASE_URL | 'https://byblossyr.com' |
WAGTAILIMAGES_EXTENSIONS | ['gif', 'jpg', 'jpeg', 'png', 'webp', 'svg'] |
WAGTAILIMAGES_IMAGE_MODEL | 'ahmedia.AHImage' |
WAGTAILMEDIA | {'MEDIA_MODEL': 'ahmedia.AHMedia'} |
WAGTAILSEARCH_BACKENDS | {'default': {'BACKEND': 'wagtail.search.backends.database'}} |
WAGTAIL_CODE_BLOCK_LANGUAGES | (('bash', 'Bash/Shell'), ('css', 'CSS'), ('diff', 'diff'), ('html', 'HTML'), ('javascript', 'Javascript'), ('json', 'JSON'), ('python', 'Python'), ('scss', 'SCSS'), ('yaml', 'YAML'), ('sql', 'SQL'), ('csharp', 'C#')) |
WAGTAIL_SITE_NAME | 'byblossyr LLC' |
WHITENOISE_MANIFEST_STRICT | False |
WSGI_APPLICATION | 'sites.byblossyr.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.