expected str, bytes or os.PathLike object, not NoneType
Request Method: | GET |
---|---|
Request URL: | http://www.worldsbestpaintings.net/artistsandpaintings/painting/36/ |
Django Version: | 2.2.14 |
Exception Type: | TypeError |
Exception Value: | expected str, bytes or os.PathLike object, not NoneType |
Exception Location: | /home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/posixpath.py in dirname, line 156 |
Python Executable: | /home/greatworksart/greatworksofwesternart.net/env/bin/python |
Python Version: | 3.6.9 |
Python Path: | ['/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages', '/home/greatworksart/greatworksofwesternart.net/env/bin', '/home/greatworksart/greatworksofwesternart.net/bestpaintings', '/home/greatworksart/greatworksofwesternart.net', '/usr/share/passenger/helper-scripts', '/home/greatworksart/greatworksofwesternart.net/env/lib/python36.zip', '/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6', '/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/lib-dynload', '/usr/lib/python3.6', '/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages', '/home/greatworksart/greatworksofwesternart.net'] |
Server time: | Fri, 29 Mar 2024 15:05:19 +0000 |
In template /home/greatworksart/greatworksofwesternart.net/bestpaintings/templates/base.html
, error at line 0
1 | {% load pages_tags static %} |
---|---|
2 | <!doctype html> |
3 | <html lang="en"> |
4 | <head> |
5 | <!-- Required meta tags --> |
6 | <meta charset="utf-8"> |
7 | <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> |
8 | |
9 | <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous"> |
10 | <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap" rel="stylesheet"> |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/core/handlers/exception.py
in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response)
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 | TypeError('expected str, bytes or os.PathLike object, not NoneType',) |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x35f299f6080>> |
request | <WSGIRequest: GET '/artistsandpaintings/painting/36/'> |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/core/handlers/base.py
in _get_response
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)
except Exception as e:
response = self.process_exception_by_middleware(e, request)…
# Complain if the view returned None (a common error).
if response is None:
if isinstance(callback, types.FunctionType): # FBV
view_name = callback.__name__
else: # CBV
Variable | Value |
---|---|
callback | <function show_painting_details at 0x35f2995fb70> |
callback_args | () |
callback_kwargs | {'painting_id': '36'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x35f2ca22940>> |
request | <WSGIRequest: GET '/artistsandpaintings/painting/36/'> |
resolver | <URLResolver 'bestpaintings.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=artistsandpaintings.views.show_painting_details, args=(), kwargs={'painting_id': '36'}, url_name=get_painting_detail, app_names=[], namespaces=[], route=artistsandpaintings/painting/<painting_id>/) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x35f299f6080> |
wrapped_callback | <function show_painting_details at 0x35f2995fb70> |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/core/handlers/base.py
in _get_response
response = middleware_method(request, callback, callback_args, callback_kwargs)
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
# Complain if the view returned None (a common error).
if response is None:
if isinstance(callback, types.FunctionType): # FBV
Variable | Value |
---|---|
callback | <function show_painting_details at 0x35f2995fb70> |
callback_args | () |
callback_kwargs | {'painting_id': '36'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x35f2ca22940>> |
request | <WSGIRequest: GET '/artistsandpaintings/painting/36/'> |
resolver | <URLResolver 'bestpaintings.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=artistsandpaintings.views.show_painting_details, args=(), kwargs={'painting_id': '36'}, url_name=get_painting_detail, app_names=[], namespaces=[], route=artistsandpaintings/painting/<painting_id>/) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x35f299f6080> |
wrapped_callback | <function show_painting_details at 0x35f2995fb70> |
/home/greatworksart/greatworksofwesternart.net/bestpaintings/artistsandpaintings/views.py
in show_painting_details
paintings_of_interest = random.sample(list(paintings_of_interest), 3)
c = {
'slide_number': 2,
'painting': painting,
'paintings_of_interest': paintings_of_interest,
'orientation': orientation,
}
return render(request, template, context=c)…
Variable | Value |
---|---|
c | {'orientation': 'portrait', 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'slide_number': 2} |
category | <Category: American Twentieth Century Painting> |
orientation | 'portrait' |
painting | <Painting: Ram’s Head, White Hollyhock – Hills> |
painting_categories | [29] |
painting_id | '36' |
paintings_of_interest | [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>] |
request | <WSGIRequest: GET '/artistsandpaintings/painting/36/'> |
template | 'artistsandpaintings/show_painting_detail.html' |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/shortcuts.py
in render
def render(request, template_name, context=None, content_type=None, status=None, using=None):
"""
Return a HttpResponse whose content is filled with the result of calling
django.template.loader.render_to_string() with the passed arguments.
"""
content = loader.render_to_string(template_name, context, request, using=using)…
return HttpResponse(content, content_type, status)
def redirect(to, *args, permanent=False, **kwargs):
"""
Return an HttpResponseRedirect to the appropriate URL for the arguments
Variable | Value |
---|---|
content_type | None |
context | {'orientation': 'portrait', 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'slide_number': 2} |
request | <WSGIRequest: GET '/artistsandpaintings/painting/36/'> |
status | None |
template_name | 'artistsandpaintings/show_painting_detail.html' |
using | None |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/template/loader.py
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 | {'orientation': 'portrait', 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'slide_number': 2} |
request | <WSGIRequest: GET '/artistsandpaintings/painting/36/'> |
template | <django.template.backends.django.Template object at 0x35f2945c5c0> |
template_name | 'artistsandpaintings/show_painting_detail.html' |
using | None |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/template/backends/django.py
in render
@property
def origin(self):
return self.template.origin
def render(self, context=None, request=None):
context = make_context(context, request, autoescape=self.backend.engine.autoescape)
try:
return self.template.render(context)…
except TemplateDoesNotExist as exc:
reraise(exc, self.backend)
def copy_exception(exc, backend=None):
"""
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'slide_number': 2, 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'orientation': 'portrait'}] |
request | <WSGIRequest: GET '/artistsandpaintings/painting/36/'> |
self | <django.template.backends.django.Template object at 0x35f2945c5c0> |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/template/base.py
in render
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)…
else:
return self._render(context)
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'slide_number': 2, 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'orientation': 'portrait'}] |
self | <django.template.base.Template object at 0x35f292288d0> |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/template/base.py
in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
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}, {}, {}, {'slide_number': 2, 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'orientation': 'portrait'}] |
self | <django.template.base.Template object at 0x35f292288d0> |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'slide_number': 2, 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'orientation': 'portrait'}] |
node | <ExtendsNode: extends "base.html"> |
self | [<ExtendsNode: extends "base.html">] |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'slide_number': 2, 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'orientation': 'portrait'}] |
self | <ExtendsNode: extends "base.html"> |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/template/loader_tags.py
in render
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)…
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, extra_context=None, isolated_context=False, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x35f29228f60> |
blocks | {'column2': <Block Node: column2. Contents: [<TextNode: '\n '>]>, 'column3': <Block Node: column3. Contents: [<TextNode: '\n '>]>, 'extra_head': <Block Node: extra_head. Contents: [<TextNode: '\n '>]>, 'main_content': <Block Node: main_content. Contents: [<TextNode: '\n '>]>, 'overall_block': <Block Node: overall_block. Contents: [<TextNode: '\n\n '>, <Block Node: column3. Contents: [<TextNode: '\n '>]>, <TextNode: '\n\n <div class="containe'>, <Block Node: main_content. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </div>\n </div>\n\n '>, <Block Node: column2. Contents: [<TextNode: '\n '>]>, <TextNode: '\n\n '>]>, 'slider': <Block Node: slider. Contents: [<TextNode: '\n <div id="car'>, <django.template.defaulttags.LoadNode object at 0x35f2930acc0>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n\n '>, <ForNode: for slide in slides, tail_len: 9>, <TextNode: '\n </div>\n '>]>, 'title': <Block Node: title. Contents: [<TextNode: 'Based on the 100 Best Pai'>]>} |
compiled_parent | <django.template.base.Template object at 0x35f2936f6a0> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'slide_number': 2, 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'orientation': 'portrait'}] |
node | <django.template.defaulttags.LoadNode object at 0x35f2930a3c8> |
self | <ExtendsNode: extends "base.html"> |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/template/base.py
in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
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}, {}, {}, {'slide_number': 2, 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'orientation': 'portrait'}] |
self | <django.template.base.Template object at 0x35f2936f6a0> |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '</title>\n\n ' |
bits | ['', '\n' '<!doctype html>\n' '<html lang="en">\n' ' <head>\n' ' <!-- Required meta tags -->\n' ' <meta charset="utf-8">\n' ' <meta name="viewport" content="width=device-width, initial-scale=1, ' 'shrink-to-fit=no">\n' '\n' ' <link rel="stylesheet" ' 'href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" ' 'integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" ' 'crossorigin="anonymous">\n' ' <link ' 'href="https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap" ' 'rel="stylesheet">\n' ' <!-- Bootstrap CSS -->\n' ' <link rel="stylesheet" ' 'href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" ' 'type="text/css">\n' ' <link rel="stylesheet" href="', '/static/css/control.css', '?v=24" type="text/css" />\n <title>Great Works of Western Art - ', '\nRam’s Head, White Hollyhock – Hills\n', '</title>\n\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'slide_number': 2, 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'orientation': 'portrait'}] |
node | <Block Node: extra_head. Contents: [<TextNode: '\n '>]> |
self | [<django.template.defaulttags.LoadNode object at 0x35f2930a3c8>, <TextNode: '\n<!doctype html>\n<html la'>, <django.templatetags.static.StaticNode object at 0x35f2930a2b0>, <TextNode: '?v=24" type="text/css" />'>, <Block Node: title. Contents: [<TextNode: 'Based on the 100 Best Pai'>]>, <TextNode: '</title>\n\n '>, <Block Node: extra_head. Contents: [<TextNode: '\n '>]>, <TextNode: '\n <script>\n (func'>, <django.template.loader_tags.IncludeNode object at 0x35f2930a940>, <TextNode: '\n <div class="containe'>, <Block Node: slider. Contents: [<TextNode: '\n <div id="car'>, <django.template.defaulttags.LoadNode object at 0x35f2930acc0>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n\n '>, <ForNode: for slide in slides, tail_len: 9>, <TextNode: '\n </div>\n '>]>, <TextNode: '\n </div>\n\n '>, <Block Node: overall_block. Contents: [<TextNode: '\n\n '>, <Block Node: column3. Contents: [<TextNode: '\n '>]>, <TextNode: '\n\n <div class="containe'>, <Block Node: main_content. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </div>\n </div>\n\n '>, <Block Node: column2. Contents: [<TextNode: '\n '>]>, <TextNode: '\n\n '>]>, <TextNode: '\n <div class="row foot'>, <django.templatetags.static.StaticNode object at 0x35f2939a550>, <TextNode: '?v=3" alt="Cotswold Code '>] |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'slide_number': 2, 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'orientation': 'portrait'}] |
self | <Block Node: extra_head. Contents: [<TextNode: '\n '>]> |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/template/loader_tags.py
in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
block.context = context
context['block'] = block
result = block.nodelist.render(context)…
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
block | <Block Node: extra_head. Contents: [<TextNode: '\n<script src="'>, <django.templatetags.static.StaticNode object at 0x35f290809e8>, <TextNode: '"></script>\n\n<script type'>, <Variable Node: request.path>, <TextNode: '" />\n<meta property="og:t'>, <Variable Node: painting.painting_name>, <TextNode: '" />\n<meta property="og:d'>, <IfNode>, <TextNode: '\n\n<!-- Twitter Share -->\n'>, <Variable Node: painting.painting_name>, <TextNode: '">\n<meta name="twitter:de'>, <Variable Node: painting.article|safe|striptags|truncatechars:"200">, <TextNode: '">\n<meta name="twitter:im'>, <filebrowser.templatetags.fb_versions.VersionNode object at 0x35f290804e0>, <TextNode: '">\n<meta name="twitter:do'>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x35f29228f60> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'slide_number': 2, 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'orientation': 'portrait'}] |
push | <Block Node: extra_head. Contents: [<TextNode: '\n<script src="'>, <django.templatetags.static.StaticNode object at 0x35f290809e8>, <TextNode: '"></script>\n\n<script type'>, <Variable Node: request.path>, <TextNode: '" />\n<meta property="og:t'>, <Variable Node: painting.painting_name>, <TextNode: '" />\n<meta property="og:d'>, <IfNode>, <TextNode: '\n\n<!-- Twitter Share -->\n'>, <Variable Node: painting.painting_name>, <TextNode: '">\n<meta name="twitter:de'>, <Variable Node: painting.article|safe|striptags|truncatechars:"200">, <TextNode: '">\n<meta name="twitter:im'>, <filebrowser.templatetags.fb_versions.VersionNode object at 0x35f290804e0>, <TextNode: '">\n<meta name="twitter:do'>]> |
self | <Block Node: extra_head. Contents: [<TextNode: '\n '>]> |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '">\n<meta name="twitter:image" content="http://www.greatworksofwesternart.net' |
bits | ['\n<script src="', '/static/js/jquery.tools.min.js', '"></script>\n' '\n' '<script type="text/javascript">\n' '// perform JavaScript after the document is scriptable.\n' '$(function() {\n' ' // setup ul.tabs to work as tabs for each div directly under div.panes\n' ' $("ul.tabs").tabs("div.panes > div");\n' '});\n' '</script>\n' '<script type="text/javascript">var switchTo5x=true;</script>\n' '<script type="text/javascript" ' 'src="http://w.sharethis.com/button/buttons.js"></script>\n' '<script type="text/javascript">stLight.options({publisher: ' '"bf3a354d-9dbd-4fc3-a7a9-7ebc30323497", doNotHash: false, doNotCopy: false, ' 'hashAddressBar: false});</script>\n' '\n' ' <!-- FACEBOOK SHARE -->\n' '<meta property="og:url" ' 'content="http://www.greatworksofwesternart.net', '/artistsandpaintings/painting/36/', '" />\n' '<meta property="og:type" content="website" />\n' '<meta property="og:title" content="', 'Ram’s Head, White Hollyhock – Hills', '" />\n<meta property="og:description" content="" />\n', '', '\n' '\n' '<!-- Twitter Share -->\n' '<meta name="twitter:card" content="summary_large_image">\n' '<meta name="twitter:title" content="', 'Ram’s Head, White Hollyhock – Hills', '">\n<meta name="twitter:description" content="', 'Georgia O’Keeffe, Ram’s Head, White Hollyhock – Hills ' '1935\r\n' 'New York, Brooklyn Museum\r\n' 'From her first visit to New Mexico in 1917, O’Keeffe was hooked. ' '‘I loved it immed…', '">\n' '<meta name="twitter:image" content="http://www.greatworksofwesternart.net'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'slide_number': 2, 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'orientation': 'portrait'}] |
node | <filebrowser.templatetags.fb_versions.VersionNode object at 0x35f290804e0> |
self | [<TextNode: '\n<script src="'>, <django.templatetags.static.StaticNode object at 0x35f290809e8>, <TextNode: '"></script>\n\n<script type'>, <Variable Node: request.path>, <TextNode: '" />\n<meta property="og:t'>, <Variable Node: painting.painting_name>, <TextNode: '" />\n<meta property="og:d'>, <IfNode>, <TextNode: '\n\n<!-- Twitter Share -->\n'>, <Variable Node: painting.painting_name>, <TextNode: '">\n<meta name="twitter:de'>, <Variable Node: painting.article|safe|striptags|truncatechars:"200">, <TextNode: '">\n<meta name="twitter:im'>, <filebrowser.templatetags.fb_versions.VersionNode object at 0x35f290804e0>, <TextNode: '">\n<meta name="twitter:do'>] |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'slide_number': 2, 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'orientation': 'portrait'}] |
self | <filebrowser.templatetags.fb_versions.VersionNode object at 0x35f290804e0> |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/filebrowser/templatetags/fb_versions.py
in render
elif isinstance(source, File):
source = source.name
else: # string
source = source
site = context.get('filebrowser_site', get_default_site())
if FORCE_PLACEHOLDER or (SHOW_PLACEHOLDER and not site.storage.isfile(source)):
source = PLACEHOLDER
fileobject = FileObject(source, site=site)…
try:
version = fileobject.version_generate(version_suffix)
if self.var_name:
context[self.var_name] = version
else:
return version.url
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'slide_number': 2, 'painting': <Painting: Ram’s Head, White Hollyhock – Hills>, 'paintings_of_interest': [<Painting: Christina’s World>, <Painting: The Figure 5 in Gold>, <Painting: Early Sunday Morning>], 'orientation': 'portrait'}] |
self | <filebrowser.templatetags.fb_versions.VersionNode object at 0x35f290804e0> |
site | <filebrowser.sites.FileBrowserSite object at 0x35f2b1748d0> |
source | None |
version_suffix | 'painting_click' |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/site-packages/filebrowser/base.py
in __init__
from filebrowser.sites import site as default_site
site = default_site
self.site = site
if platform.system() == 'Windows':
self.path = path.replace('\\', '/')
else:
self.path = path
self.head = os.path.dirname(path)…
self.filename = os.path.basename(path)
self.filename_lower = self.filename.lower()
self.filename_root, self.extension = os.path.splitext(self.filename)
self.mimetype = mimetypes.guess_type(self.filename)
def __str__(self):
Variable | Value |
---|---|
path | None |
self | Error in formatting: TypeError: object of type 'NoneType' has no len() |
site | <filebrowser.sites.FileBrowserSite object at 0x35f2b1748d0> |
/home/greatworksart/greatworksofwesternart.net/env/lib/python3.6/posixpath.py
in dirname
return p[i:]
# Return the head (dirname) part of a path, same as split(path)[0].
def dirname(p):
"""Returns the directory component of a pathname"""
p = os.fspath(p)…
sep = _get_sep(p)
i = p.rfind(sep) + 1
head = p[:i]
if head and head != sep*len(head):
head = head.rstrip(sep)
return head
Variable | Value |
---|---|
p | None |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
DH_USER | 'greatworksart' |
GEM_HOME | '/home/greatworksart/.gems' |
HTTP_ACCEPT | '*/*' |
HTTP_HOST | 'www.worldsbestpaintings.net' |
HTTP_USER_AGENT | 'claudebot' |
PASSENGER_CONNECT_PASSWORD | 'DhHKlEOKbuqcqwDz' |
PATH_INFO | '/artistsandpaintings/painting/36/' |
QS_AllConn | '2' |
QS_ConnectionId | '171172471850075654436152' |
QS_SrvConn | '2' |
QUERY_STRING | '' |
REMOTE_ADDR | '44.205.2.188' |
REMOTE_PORT | '51714' |
REQUEST_METHOD | 'GET' |
REQUEST_URI | '/artistsandpaintings/painting/36/' |
SCRIPT_NAME | '' |
SCRIPT_URI | 'http://www.worldsbestpaintings.net/artistsandpaintings/painting/36/' |
SCRIPT_URL | '/artistsandpaintings/painting/36/' |
SERVER_NAME | 'www.worldsbestpaintings.net' |
SERVER_PORT | '80' |
SERVER_PROTOCOL | 'HTTP/1.1' |
SERVER_SOFTWARE | 'Apache/2.4.29 (Ubuntu) OpenSSL/1.1.1 mod_fcgid/2.3.9 Phusion_Passenger/5.0.30' |
UNIQUE_ID | 'ZgbYr3-H0of4pTyflKp2RgAATio' |
ds_id_41946217 | '' |
dsid | '41946217' |
passenger.hijack | None |
wsgi.errors | <_io.TextIOWrapper name='<stderr>' mode='w' encoding='ANSI_X3.4-1968'> |
wsgi.input | <_io.BufferedReader name=15> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
wsgi.version | (1, 0) |
bestpaintings.settings.production
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['www.worldsbestpaintings.net', 'worldsbestpaintings.net', 'www.greatworksofwesternart.net', 'greatworksofwesternart.net', '127.0.0.1'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | '/home/greatworksart/greatworksofwesternart.net/bestpaintings/bestpaintings' |
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_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 |
DATABASES | {'default': {'ENGINE': 'django.db.backends.mysql', 'OPTIONS': {'read_default_file': '/home/greatworksart/greatworksofwesternart.net/bestpaintings/bestpaintings/settings/greatworksofwesternart.cnf'}}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_CONTENT_TYPE | 'text/html' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_LANGUAGE | 1 |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'localhost' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | '' |
EMAIL_PORT | 25 |
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 | False |
FILEBROWSER_ADMIN_VERSIONS | ['thumbnail', 'small', 'medium', 'big', 'banner', '940big', 'painting_click'] |
FILEBROWSER_VERSIONS | {'940big': {'height': '', 'opts': 'upscale', 'verbose_name': 'Big 940', 'width': 940}, 'banner': {'height': '201', 'opts': 'crop upscale', 'verbose_name': 'Banner (940px)', 'width': 940}, 'big': {'height': '', 'opts': '', 'verbose_name': 'Big (620px)', 'width': 940}, 'bookcover': {'height': '', 'opts': 'upscale', 'verbose_name': 'Book Cover', 'width': 185}, 'cropped': {'height': 60, 'opts': 'crop', 'verbose_name': 'Cropped (60x60px)', 'width': 60}, 'croppedthumbnail': {'height': 140, 'opts': 'crop', 'verbose_name': 'Cropped Thumbnail (140x140px)', 'width': 140}, 'fb_thumb': {'height': 60, 'opts': 'crop upscale', 'verbose_name': 'Admin Thumbnail', 'width': 60}, 'medium': {'height': '', 'opts': '', 'verbose_name': 'Medium (460px)', 'width': 460}, 'painting_card_image': {'height': '280', 'opts': 'crop', 'verbose_name': 'Card (320px by 280px)', 'width': 320}, 'painting_click': {'height': '180', 'opts': 'crop upscale', 'verbose_name': 'Painting Click', 'width': 144}, 'painting_click_landscape': {'height': 177, 'opts': '', 'verbose_name': 'Painting Click Landscape', 'width': ''}, 'small': {'height': '', 'opts': '', 'verbose_name': 'Small (300px)', 'width': 300}, 'thumbnail': {'height': '', 'opts': '', 'verbose_name': 'Thumbnail (140px)', 'width': 140}} |
FILE_CHARSET | 'utf-8' |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | None |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
HAYSTACK_CONNECTIONS | {'default': {'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine', 'PATH': '/home/greatworksart/greatworksofwesternart.net/bestpaintings/bestpaintings/settings/whoosh_index'}} |
HAYSTACK_SIGNAL_PROCESSOR | 'haystack.signals.RealtimeSignalProcessor' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['filebrowser', 'pages', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'artistsandpaintings', 'leftcontent', 'newsletter', 'siteediting', 'slides', 'website', 'contact', 'tinymce', 'haystack'] |
INTERNAL_IPS | [] |
LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'fa', 'ur'] |
LANGUAGE_CODE | 'en-us' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '/home/greatworksart/greatworksofwesternart.net/bestpaintings/bestpaintings/../../public/media/' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['django.middleware.security.SecurityMiddleware', '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'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PAGE_DEFAULT_LANGUAGE | 'en-gb' |
PAGE_DEFAULT_TEMPLATE | 'pages/index.html' |
PAGE_LANGUAGES | (('zh-cn', 'Chinese Simplified'), ('fr-ch', 'Swiss french'), ('en-gb', 'UK English')) |
PAGE_REAL_TIME_SEARCH | False |
PAGE_TEMPLATES | (('pages/index_home.html', 'homepage template'),) |
PAGE_TINYMCE | True |
PAGE_USE_SITE_ID | True |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'bestpaintings.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | False |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
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 | 'bestpaintings.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 | ['/home/greatworksart/greatworksofwesternart.net/bestpaintings/bestpaintings/staticfiles/'] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/home/greatworksart/greatworksofwesternart.net/bestpaintings/bestpaintings/../..//public/static/' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/home/greatworksart/greatworksofwesternart.net/bestpaintings/bestpaintings/../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', 'pages.context_processors.media']}}] |
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' |
TINYMCE_DEFAULT_CONFIG | {'plugins': 'link image table code hr', 'selector': 'textarea'} |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'bestpaintings.wsgi.application' |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
YEAR_MONTH_FORMAT | 'F Y' |
You're seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard page generated by the handler for this status code.