tuple index out of range
Request Method: | GET |
---|---|
Request URL: | https://mosman1914-1918.net/places/58/ |
Django Version: | 2.2.13 |
Exception Type: | IndexError |
Exception Value: | tuple index out of range |
Exception Location: | /home/mosman1914/mosman1914_dob/app/people/models.py in __str__, line 215 |
Python Executable: | /home/mosman1914/app/venv/bin/python3 |
Python Version: | 3.6.8 |
Python Path: | ['/home/mosman1914/mosman1914_dob', '/home/mosman1914/mosman1914_dob/venv/bin', '/usr/lib64/python36.zip', '/usr/lib64/python3.6', '/usr/lib64/python3.6/lib-dynload', '/home/mosman1914/app/venv/lib64/python3.6/site-packages', '/home/mosman1914/app/venv/lib/python3.6/site-packages'] |
Server time: | Thu, 28 Mar 2024 17:14:41 -0500 |
In template /home/mosman1914/mosman1914_dob/app/templates/base.html
, error at line 0
1 | {% load static %} |
---|---|
2 | <!DOCTYPE html> |
3 | <!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]--> |
4 | <!--[if IE 7]> <html class="lt-ie9 lt-ie8"> <![endif]--> |
5 | <!--[if IE 8]> <html class="lt-ie9"> <![endif]--> |
6 | <!--[if gt IE 8]><!--> |
7 | <html> |
8 | <!--<![endif]--> |
9 | |
10 | <head> |
/home/mosman1914/app/venv/lib64/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 | IndexError('tuple index out of range',) |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f08ed819c50>> |
request | <WSGIRequest: GET '/places/58/'> |
/home/mosman1914/app/venv/lib64/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 PlaceView at 0x7f08eccfb048> |
callback_args | () |
callback_kwargs | {'id': '58'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f08ed648898>> |
request | <WSGIRequest: GET '/places/58/'> |
resolver | <URLResolver 'app.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=app.places.views.PlaceView, args=(), kwargs={'id': '58'}, url_name=place-view, app_names=[], namespaces=[], route=^places/(?P<id>\d+)/$) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f08ed819c50> |
wrapped_callback | <function PlaceView at 0x7f08eccfb048> |
/home/mosman1914/app/venv/lib64/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 PlaceView at 0x7f08eccfb048> |
callback_args | () |
callback_kwargs | {'id': '58'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f08ed648898>> |
request | <WSGIRequest: GET '/places/58/'> |
resolver | <URLResolver 'app.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=app.places.views.PlaceView, args=(), kwargs={'id': '58'}, url_name=place-view, app_names=[], namespaces=[], route=^places/(?P<id>\d+)/$) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f08ed819c50> |
wrapped_callback | <function PlaceView at 0x7f08eccfb048> |
/home/mosman1914/app/venv/lib64/python3.6/site-packages/django/views/generic/base.py
in view
self.head = self.get
self.setup(request, *args, **kwargs)
if not hasattr(self, 'request'):
raise AttributeError(
"%s instance has no 'request' attribute. Did you override "
"setup() and forget to call super()?" % cls.__name__
)
return self.dispatch(request, *args, **kwargs)…
view.view_class = cls
view.view_initkwargs = initkwargs
# take name and docstring from class
update_wrapper(view, cls, updated=())
Variable | Value |
---|---|
args | () |
cls | <class 'app.places.views.PlaceView'> |
initkwargs | {} |
kwargs | {'id': '58'} |
request | <WSGIRequest: GET '/places/58/'> |
self | <app.places.views.PlaceView object at 0x7f08eab677f0> |
/home/mosman1914/app/venv/lib64/python3.6/site-packages/django_conneg/views.py
in dispatch
http_client.NOT_ACCEPTABLE: ('conneg/not_acceptable',),
http_client.BAD_REQUEST: ('conneg/bad_request', '400'),
http_client.SERVICE_UNAVAILABLE: ('conneg/service_unavailable', '503'),
'default': ('conneg/error',)}
def dispatch(self, request, *args, **kwargs):
try:
return super(ContentNegotiatedView, self).dispatch(request, *args, **kwargs)…
except http.Http404 as e:
return self.error(request, e, args, kwargs, http_client.NOT_FOUND)
except exceptions.PermissionDenied as e:
return self.error(request, e, args, kwargs, http_client.FORBIDDEN)
except HttpError as e:
return self.error(request, e, args, kwargs, e.status_code)
Variable | Value |
---|---|
__class__ | <class 'django_conneg.views.ContentNegotiatedView'> |
args | () |
kwargs | {'id': '58'} |
request | <WSGIRequest: GET '/places/58/'> |
self | <app.places.views.PlaceView object at 0x7f08eab677f0> |
/home/mosman1914/app/venv/lib64/python3.6/site-packages/django_conneg/views.py
in dispatch
self.format_override = None
self.request = request
self.args = args
self.kwargs = kwargs
self.conneg = Conneg(obj=self)
self.set_renderers(request)
return super(BaseContentNegotiatedView, self).dispatch(request, *args, **kwargs)…
def set_renderers(self, request=None, context=None, template_name=None, early=False):
"""
Makes sure that the renderers attribute on the request is up
to date. renderers_for_view keeps track of the view that
is attempting to render the request, so that if the request
Variable | Value |
---|---|
__class__ | <class 'django_conneg.views.BaseContentNegotiatedView'> |
args | () |
format_url_parameter | None |
kwargs | {'id': '58'} |
request | <WSGIRequest: GET '/places/58/'> |
self | <app.places.views.PlaceView object at 0x7f08eab677f0> |
/home/mosman1914/app/venv/lib64/python3.6/site-packages/django/views/generic/base.py
in dispatch
# Try to dispatch to the right method; if a method doesn't exist,
# defer to the error handler. Also defer to the error handler if the
# request method isn't on the approved list.
if request.method.lower() in self.http_method_names:
handler = getattr(self, request.method.lower(), self.http_method_not_allowed)
else:
handler = self.http_method_not_allowed
return handler(request, *args, **kwargs)…
def http_method_not_allowed(self, request, *args, **kwargs):
logger.warning(
'Method Not Allowed (%s): %s', request.method, request.path,
extra={'status_code': 405, 'request': request}
)
Variable | Value |
---|---|
args | () |
handler | <bound method LinkedDataView.get of <app.places.views.PlaceView object at 0x7f08eab677f0>> |
kwargs | {'id': '58'} |
request | <WSGIRequest: GET '/places/58/'> |
self | <app.places.views.PlaceView object at 0x7f08eab677f0> |
/home/mosman1914/mosman1914_dob/app/linkeddata/views.py
in get
else:
if redirect_to:
return redirect(self.model.objects.get(id=redirect_to.id), permanent=True)
# End redirect check
context = {}
if format:
context['content'] = self.model.objects.select_related().get(id=id)
return self.render_to_format(request, context, self.template_name, format)…
else:
context['status_code'] = 303
context['additional_headers'] = {'location': self.path % id}
context['content'] = None
return self.render(request, context, self.template_name)
Variable | Value |
---|---|
context | {'content': <Place: Mosman, NSW, Australia>, 'id_path': 'http://mosman1914-1918.net/places/58', 'identifier': 'http://mosman1914-1918.net/places/58/'} |
format | 'html' |
full_url | '/places/58/' |
id | '58' |
instance | <Place: Mosman, NSW, Australia> |
redirect_to | None |
request | <WSGIRequest: GET '/places/58/'> |
self | <app.places.views.PlaceView object at 0x7f08eab677f0> |
/home/mosman1914/app/venv/lib64/python3.6/site-packages/django_conneg/views.py
in render_to_format
request, context, template_name = self.get_render_params(request, context, template_name)
self.set_renderers()
status_code = context.pop('status_code', http_client.OK)
additional_headers = context.pop('additional_headers', {})
for renderer in self.conneg.renderers_by_format.get(format, ()):
response = renderer(request, context, template_name)…
if response is not NotImplemented:
break
else:
response = self.http_not_acceptable(request, ())
renderer = None
Variable | Value |
---|---|
additional_headers | {} |
context | {'content': <Place: Mosman, NSW, Australia>, 'id_path': 'http://mosman1914-1918.net/places/58', 'identifier': 'http://mosman1914-1918.net/places/58/'} |
format | 'html' |
renderer | Error in formatting: AttributeError: 'function' object has no attribute 'im_class' |
request | <WSGIRequest: GET '/places/58/'> |
self | <app.places.views.PlaceView object at 0x7f08eab677f0> |
status_code | <HTTPStatus.OK: 200> |
template_name | 'places/place' |
/home/mosman1914/app/venv/lib64/python3.6/site-packages/django_conneg/conneg.py
in __call__
self.priority = priority
self.is_bound = instance is not None
def __get__(self, instance, owner=None):
return Renderer(self.func, self.format, self.mimetypes, self.priority, self.name, self.test, instance, owner)
def __call__(self, *args, **kwargs):
return self.func(*args, **kwargs)…
@property
def __name__(self):
return self.func.__name__
@__name__.setter
def __name__(self, name):
Variable | Value |
---|---|
args | (<WSGIRequest: GET '/places/58/'>, {'content': <Place: Mosman, NSW, Australia>, 'id_path': 'http://mosman1914-1918.net/places/58', 'identifier': 'http://mosman1914-1918.net/places/58/'}, 'places/place') |
kwargs | {} |
self | Error in formatting: AttributeError: 'function' object has no attribute 'im_class' |
/home/mosman1914/mosman1914_dob/app/linkeddata/views.py
in render_html
@renderer(format='html', mimetypes=('text/html', 'application/xhtml+xml'), name='HTML', priority=1)
def render_html(self, request, context, template_name):
if context['content']:
template_name = self.join_template_name(template_name, 'html')
identifier = 'http://%s%s' % (Site.objects.get_current().domain, context['content'].get_absolute_url())
context['identifier'] = identifier
context['id_path'] = identifier[:-1]
return render(request, template_name, context)…
else:
return HttpResponse(content='')
@renderer(format='json', mimetypes=('application/json',), name='JSON')
def render_json(self, request, context, template_name):
if context['content']:
Variable | Value |
---|---|
context | {'content': <Place: Mosman, NSW, Australia>, 'id_path': 'http://mosman1914-1918.net/places/58', 'identifier': 'http://mosman1914-1918.net/places/58/'} |
identifier | 'http://mosman1914-1918.net/places/58/' |
request | <WSGIRequest: GET '/places/58/'> |
self | <app.places.views.PlaceView object at 0x7f08eab677f0> |
template_name | 'places/place.html' |
/home/mosman1914/app/venv/lib64/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 | {'content': <Place: Mosman, NSW, Australia>, 'id_path': 'http://mosman1914-1918.net/places/58', 'identifier': 'http://mosman1914-1918.net/places/58/'} |
request | <WSGIRequest: GET '/places/58/'> |
status | None |
template_name | 'places/place.html' |
using | None |
/home/mosman1914/app/venv/lib64/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 | {'content': <Place: Mosman, NSW, Australia>, 'id_path': 'http://mosman1914-1918.net/places/58', 'identifier': 'http://mosman1914-1918.net/places/58/'} |
request | <WSGIRequest: GET '/places/58/'> |
template | <django.template.backends.django.Template object at 0x7f08e7fef5c0> |
template_name | 'places/place.html' |
using | None |
/home/mosman1914/app/venv/lib64/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}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
request | <WSGIRequest: GET '/places/58/'> |
self | <django.template.backends.django.Template object at 0x7f08e7fef5c0> |
/home/mosman1914/app/venv/lib64/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}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
self | <django.template.base.Template object at 0x7f08e7fef908> |
/home/mosman1914/app/venv/lib64/python3.6/site-packages/django/test/utils.py
in instrumented_test_render
def instrumented_test_render(self, context):
"""
An instrumented Template render method, providing a signal that can be
intercepted by the test Client.
"""
template_rendered.send(sender=self, template=self, context=context)
return self.nodelist.render(context)…
class _TestState:
pass
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
self | <django.template.base.Template object at 0x7f08e7fef908> |
/home/mosman1914/app/venv/lib64/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}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
node | <ExtendsNode: extends 'base.html'> |
self | [<ExtendsNode: extends 'base.html'>] |
/home/mosman1914/app/venv/lib64/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}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
self | <ExtendsNode: extends 'base.html'> |
/home/mosman1914/app/venv/lib64/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 0x7f08e7f90ef0> |
blocks | {'content': <Block Node: content. Contents: []>, 'extra_scripts': <Block Node: extra_scripts. Contents: []>, 'extra_styles': <Block Node: extra_styles. Contents: []>, 'footer': <Block Node: footer. Contents: []>, 'head_scripts': <Block Node: head_scripts. Contents: []>, 'page_title': <Block Node: page_title. Contents: []>} |
compiled_parent | <django.template.base.Template object at 0x7f08e7f900f0> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
node | <django.template.defaulttags.LoadNode object at 0x7f08e7fb2e10> |
self | <ExtendsNode: extends 'base.html'> |
/home/mosman1914/app/venv/lib64/python3.6/site-packages/django/test/utils.py
in instrumented_test_render
def instrumented_test_render(self, context):
"""
An instrumented Template render method, providing a signal that can be
intercepted by the test Client.
"""
template_rendered.send(sender=self, template=self, context=context)
return self.nodelist.render(context)…
class _TestState:
pass
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
self | <django.template.base.Template object at 0x7f08e7f900f0> |
/home/mosman1914/app/venv/lib64/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' '\t\t\t\t <li><a href="/contribute">Help</a></li>\n' '\t\t\t\t </ul>\n' '\t\t\t\t </li>\n' ' </ul>\n' '\t </div>-->\n' ' </div>\n' ' </div>\n' ' </nav>\n' '\n' ' <div class="container px-2 px-md-0">') |
bits | ['', '\n' '<!DOCTYPE html>\n' '<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]-->\n' '<!--[if IE 7]> <html class="lt-ie9 lt-ie8"> <![endif]-->\n' '<!--[if IE 8]> <html class="lt-ie9"> <![endif]-->\n' '<!--[if gt IE 8]><!-->\n' '<html>\n' ' <!--<![endif]-->\n' '\n' ' <head>\n' ' <title>\n' ' Doing our bit, Mosman 1914-1918', ' -- Mosman, NSW, Australia', '\n' ' </title>\n' ' <meta name="viewport" content="width=device-width, initial-scale=1.0" ' '/>\n' ' <script\n' ' src="https://code.jquery.com/jquery-3.6.3.min.js"\n' ' integrity="sha256-pvPw+upLPUjgMXY0G+8O0xUf+/Im1MZjXxxgOcBQBXU="\n' ' crossorigin="anonymous"\n' ' ></script>\n' ' <script\n' ' src="https://code.jquery.com/jquery-migrate-3.4.1.min.js"\n' ' integrity="sha256-UnTxHm+zKuDPLfufgEMnKGXDl6fEIjtM+n1Q6lL73ok="\n' ' crossorigin="anonymous"\n' ' ></script>\n' ' ', '', '\n <link href="', '/static/css/bootstrap5.min.css', '" rel="stylesheet" />\n <link href="', '/static/css/local.css', '" rel="stylesheet" />\n' ' <link\n' ' rel="stylesheet"\n' ' type="text/css"\n' ' href="http://mosman1914-1918.net/project/css/txp_orange.css"\n' ' />\n' ' <link rel="stylesheet" href="', '/static/css/font-awesome.min.css', '" />\n' '\n' ' <!-- HTML5/Media Queries support for IE < 9 -->\n' ' <!--[if lt IE 9]>\n' ' <script src="', '', 'js/html5shiv.js"></script>\n <script src="', '', 'js/css3-mediaqueries.js"></script>\n <![endif]-->\n\n ', '', '\n' ' <script type="text/javascript">\n' ' var _gaq = _gaq || [];\n' ' _gaq.push(["_setAccount", "UA-2119766-33"]);\n' ' _gaq.push(["_setDomainName", "mosman1914-1918.net"]);\n' ' _gaq.push(["_trackPageview"]);\n' '\n' ' (function () {\n' ' var ga = document.createElement("script");\n' ' ga.type = "text/javascript";\n' ' ga.async = true;\n' ' ga.src =\n' ' ("https:" == document.location.protocol\n' ' ? "https://ssl"\n' ' : "http://www") + ".google-analytics.com/ga.js";\n' ' var s = document.getElementsByTagName("script")[0];\n' ' s.parentNode.insertBefore(ga, s);\n' ' })();\n' ' </script>\n' '\n' ' <!-- Google tag (gtag.js) -->\n' ' <script\n' ' async\n' ' src="https://www.googletagmanager.com/gtag/js?id=G-0TXZXJ7Y4H"\n' ' ></script>\n' ' <script>\n' ' window.dataLayer = window.dataLayer || [];\n' ' function gtag() {\n' ' dataLayer.push(arguments);\n' ' }\n' ' gtag("js", new Date());\n' '\n' ' gtag("config", "G-0TXZXJ7Y4H");\n' ' </script>\n' ' </head>\n' ' <body>\n' ' <nav class="navbar fixed-top bg-light px-2 px-md-0">\n' ' <div class="navbar-inner w-100">\n' ' <div class="container">\n' ' <a class="navbar-brand DOB_logo_header" href="/"\n' ' ><i>Doing our bit, Mosman 1914-1918</i></a\n' ' >\n' ' <a\n' ' class="btn btn-navbar"\n' ' data-toggle="collapse"\n' ' data-target=".nav-collapse"\n' ' >\n' ' <span class="icon-bar"></span>\n' ' <span class="icon-bar"></span>\n' ' <span class="icon-bar"></span>\n' ' </a>\n' '\n' ' <!--<div class="nav-collapse collapse" id="main-menu">\n' '\t\t <ul class="nav pull-right">\n' '\t\t\t\t <li class="dropdown">\n' '\t\t\t\t <a href="#" class="dropdown-toggle" data-toggle="dropdown">\n' '\t\t\t\t Your account\n' '\t\t\t\t <b class="caret"></b>\n' '\t\t\t\t </a>\n' '\t\t\t\t <ul class="dropdown-menu">\n' '\t\t\t\t ', '\n' '\t\t\t\t <li><a href="/accounts/login/">Login</a></li>\n' '\t\t\t\t <li><a href="/accounts/register/">Register</a></li>\n' '\t\t\t\t ', '\n' '\t\t\t\t <li><a href="/contribute">Help</a></li>\n' '\t\t\t\t </ul>\n… <trimmed 4276 bytes string> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
node | <Block Node: content. Contents: []> |
self | [<django.template.defaulttags.LoadNode object at 0x7f08e7fb2e10>, <TextNode: '\n<!DOCTYPE html>\n<!--[if '>, <Block Node: page_title. Contents: []>, <TextNode: '\n </title>\n <meta n'>, <Block Node: head_scripts. Contents: []>, <TextNode: '\n <link href="'>, <django.templatetags.static.StaticNode object at 0x7f08e800f630>, <TextNode: '" rel="stylesheet" />\n '>, <django.templatetags.static.StaticNode object at 0x7f08e800f6a0>, <TextNode: '" rel="stylesheet" />\n '>, <django.templatetags.static.StaticNode object at 0x7f08e800f748>, <TextNode: '" />\n\n <!-- HTML5/Medi'>, <Variable Node: STATIC_URL>, <TextNode: 'js/html5shiv.js"></script'>, <Variable Node: STATIC_URL>, <TextNode: 'js/css3-mediaqueries.js">'>, <Block Node: extra_styles. Contents: []>, <TextNode: '\n <script type="text/j'>, <IfNode>, <TextNode: '\n\t\t\t\t <li>'>, <Block Node: content. Contents: []>, <TextNode: '</div>\n\n '>, <Block Node: footer. Contents: []>, <TextNode: '\n\n <script src="'>, <django.templatetags.static.StaticNode object at 0x7f08e800ff60>, <TextNode: '"></script>\n '>, <Block Node: extra_scripts. Contents: []>, <TextNode: '\n </body>\n</html>\n'>] |
/home/mosman1914/app/venv/lib64/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}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
self | <Block Node: content. Contents: []> |
/home/mosman1914/app/venv/lib64/python3.6/site-packages/django/template/loader_tags.py
in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
block.context = context
context['block'] = block
result = block.nodelist.render(context)…
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
block | <Block Node: content. Contents: [<TextNode: '\n '>, <guardian.templatetags.guardian_tags.ObjectPermissionsNode object at 0x7f08e7fcf438>, <TextNode: '\n <div class="row"'>, <WithNode>, <TextNode: '\n <div class="'>, <django.template.defaulttags.URLNode object at 0x7f08e7fcf828>, <TextNode: '">Places</a> <span class='>, <Variable Node: content|safe>, <TextNode: '</li>\n </u'>, <Variable Node: content>, <TextNode: '</h2>\n <dl'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </dl>\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </div>\n '>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f08e7f90ef0> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
push | <Block Node: content. Contents: [<TextNode: '\n '>, <guardian.templatetags.guardian_tags.ObjectPermissionsNode object at 0x7f08e7fcf438>, <TextNode: '\n <div class="row"'>, <WithNode>, <TextNode: '\n <div class="'>, <django.template.defaulttags.URLNode object at 0x7f08e7fcf828>, <TextNode: '">Places</a> <span class='>, <Variable Node: content|safe>, <TextNode: '</li>\n </u'>, <Variable Node: content>, <TextNode: '</h2>\n <dl'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </dl>\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </div>\n '>]> |
self | <Block Node: content. Contents: []> |
/home/mosman1914/app/venv/lib64/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 ' |
bits | ['\n ', '', '\n <div class="row">\n ', '<div class="col-md-2">\n' ' <ul class="nav flex-column sidenav affix bg-light">\n' ' <!--<li><a ' 'href="http://mosman1914-1918.net/project/search">Search</a></li>-->\n' ' <li class="nav-item"><a class="nav-link" ' 'href="/people/">People</a></li>\n' ' \n' ' <!--<li class="nav-item"><a class="nav-link" ' 'href="/sources/">Sources</a></li>-->\n' ' <li class="nav-item"><a class="nav-link" ' 'href="/images/">Images</a></li>\n' ' <li class="nav-item"><a class="nav-link" ' 'href="/stories/">Stories</a></li>\n' ' <li class="nav-item active"><a class="nav-link" ' 'href="/places/">Places</a>\n' ' </li>\n' ' <li class="nav-item"><a class="nav-link" ' 'href="/mosmanstreets/">Streets</a>\n' ' </li>\n' ' <li class="nav-item"><a class="nav-link" ' 'href="/memorials/">Memorials</a></li>\n' ' <li class="nav-item"><a class="nav-link" ' 'href="http://mosman1914-1918.net/project/blog">Blog</a></li>\n' ' <li class="nav-item"><a class="nav-link" ' 'href="http://mosman1914-1918.net/project/events">Events</a></li>\n' ' <li class="nav-item"><a class="nav-link" ' 'href="http://mosman1914-1918.net/project/resources">Resources</a></li>\n' ' </ul>\n' '</div>\n', '\n' ' <div class="col-md-8">\n' ' <ul class="breadcrumb hidden-phone">\n' ' <li><a href="/">Home</a> <span ' 'class="divider">/</span></li>\n' ' <li><a href="', '/places/', '">Places</a> <span class="divider">/</span></li>\n' ' <li class="active">', 'Mosman, NSW, Australia', '</li>\n </ul>\n <h2>', 'Mosman, NSW, Australia', '</h2>\n <dl class="dl-horizontal">\n ', '\n' ' <dt>Place name</dt>\n' ' <dd>Mosman, NSW, Australia</dd>\n' ' ', '\n ', '', '\n ', '', '\n\n ', '\n' ' <dt>Birth place of</dt>\n' ' <dd>\n' ' <ul>\n' ' \n' ' <li>\n' ' <a href="/people/2113/">\n' ' Sidney Mannell †\n' ' </a>\n' ' </li>\n' ' \n' ' <li>\n' ' <a href="/people/992/">\n' ' Roy Hungerford Wilshire\n' ' </a>\n' ' </li>\n' ' \n' ' <li>\n' ' <a href="/people/1362/">\n' ' Frederick Eugene Cornell\n' ' </a>\n' ' </li>\n' ' \n' ' <li>\n' ' <a href="/people/457/">\n' ' Frederick Charles Caller\n' ' </a>\n' ' </li>\n' ' \n' ' <li>\n' ' <a href="/people/1848/">\n' ' William Harding Reid †\n' ' </a>\n' ' </li>\n' ' \n' ' <li>\n' ' <a href="/people/1709/">\n' ' Reginald Hastings Cook †\n' ' … <trimmed 6219 bytes string> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
node | <IfNode> |
self | [<TextNode: '\n '>, <guardian.templatetags.guardian_tags.ObjectPermissionsNode object at 0x7f08e7fcf438>, <TextNode: '\n <div class="row"'>, <WithNode>, <TextNode: '\n <div class="'>, <django.template.defaulttags.URLNode object at 0x7f08e7fcf828>, <TextNode: '">Places</a> <span class='>, <Variable Node: content|safe>, <TextNode: '</li>\n </u'>, <Variable Node: content>, <TextNode: '</h2>\n <dl'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </dl>\n\n '>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </div>\n '>] |
/home/mosman1914/app/venv/lib64/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}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
self | <IfNode> |
/home/mosman1914/app/venv/lib64/python3.6/site-packages/django/template/defaulttags.py
in render
match = condition.eval(context)
except VariableDoesNotExist:
match = None
else: # else clause
match = True
if match:
return nodelist.render(context)…
return ''
class LoremNode(Node):
def __init__(self, count, method, common):
Variable | Value |
---|---|
condition | (literal <django.template.base.FilterExpression object at 0x7f08e7d4d278>) |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
match | Error in formatting: IndexError: tuple index out of range |
nodelist | [<TextNode: '\n '>, <ForNode: for item in content.lifeevent_set.all, tail_len: 5>, <TextNode: '\n '>] |
self | <IfNode> |
/home/mosman1914/app/venv/lib64/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' ' <dt>Life events</dt>\n' ' <dd>\n' ' <ul>\n' ' ') |
bits | ['\n' ' <dt>Life events</dt>\n' ' <dd>\n' ' <ul>\n' ' '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
node | <ForNode: for item in content.lifeevent_set.all, tail_len: 5> |
self | [<TextNode: '\n '>, <ForNode: for item in content.lifeevent_set.all, tail_len: 5>, <TextNode: '\n '>] |
/home/mosman1914/app/venv/lib64/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}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
self | <ForNode: for item in content.lifeevent_set.all, tail_len: 5> |
/home/mosman1914/app/venv/lib64/python3.6/site-packages/django/template/defaulttags.py
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}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
i | 0 |
item | Error in formatting: IndexError: tuple index out of range |
len_values | 1 |
loop_dict | {'counter': 1, 'counter0': 0, 'first': True, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0} |
node | <Variable Node: item> |
nodelist | ['\n' ' <li>\n' ' <a href="', '/people/events/798/', '">\n '] |
num_loopvars | 1 |
parentloop | {} |
pop_context | False |
self | <ForNode: for item in content.lifeevent_set.all, tail_len: 5> |
unpack | False |
values | Error in formatting: IndexError: tuple index out of range |
/home/mosman1914/app/venv/lib64/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}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
self | <Variable Node: item> |
/home/mosman1914/app/venv/lib64/python3.6/site-packages/django/template/base.py
in render
try:
output = self.filter_expression.resolve(context)
except UnicodeDecodeError:
# Unicode conversion can fail sometimes for reasons out of our
# control (e.g. exception rendering). In that case, we fail
# quietly.
return ''
return render_value_in_context(output, context)…
# Regex for token keyword arguments
kwarg_re = re.compile(r"(?:(\w+)=)?(.+)")
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
output | Error in formatting: IndexError: tuple index out of range |
self | <Variable Node: item> |
/home/mosman1914/app/venv/lib64/python3.6/site-packages/django/template/base.py
in render_value_in_context
means escaping, if required, and conversion to a string. If value is a
string, it's expected to already be translated.
"""
value = template_localtime(value, use_tz=context.use_tz)
value = localize(value, use_l10n=context.use_l10n)
if context.autoescape:
if not issubclass(type(value), str):
value = str(value)…
return conditional_escape(value)
else:
return str(value)
class VariableNode(Node):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'content': <Place: Mosman, NSW, Australia>, 'identifier': 'http://mosman1914-1918.net/places/58/', 'id_path': 'http://mosman1914-1918.net/places/58'}] |
value | Error in formatting: IndexError: tuple index out of range |
/home/mosman1914/mosman1914_dob/app/people/models.py
in __str__
#sources = models.ManyToManyField('sources.Source', blank=True)
type_of_event = models.ForeignKey('people.LifeEventType', on_delete=models.CASCADE, blank=True, null=True)
memorials = models.ManyToManyField('memorials.Memorial', blank=True)
def __str__(self):
return '{} {} {}'.format(
self.person,
'{}{}'.format() if self.label[0] else '',…
'({})'.format(self.date_summary()) if self.date_summary() else ''
)
def summary(self):
if self.date_summary():
summary = '{} ({})'.format(self.label, self.date_summary())
Variable | Value |
---|---|
self | Error in formatting: IndexError: tuple index out of range |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CPANEL_LOCALHOST | 'Fms4WMNnt5nVz2Y4MCSmCYicBgYkjmgyY9y4OdFiasU46f1M2kL1erkvq61k5Q2Q' |
HTTP_HOST | 'mosman1914-1918.net' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '52.90.211.141' |
HTTP_X_FORWARDED_FOR_FMS4WMNNT5NVZ2Y4MCSMCYICBGYKJMGYY9Y4ODFIASU46F1M2KL1ERKVQ61K5Q2Q | '52.90.211.141' |
HTTP_X_FORWARDED_HOST | 'mosman1914-1918.net' |
HTTP_X_FORWARDED_PORT | '443' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_FORWARDED_SERVER | 'mosman1914-1918.net' |
HTTP_X_REAL_IP | '52.90.211.141' |
PATH_INFO | '/places/58/' |
QUERY_STRING | '' |
RAW_URI | '/places/58/' |
REMOTE_ADDR | '127.0.0.1' |
REMOTE_PORT | '60418' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | '0.0.0.0' |
SERVER_PORT | '8000' |
SERVER_PROTOCOL | 'HTTP/1.1' |
SERVER_SOFTWARE | 'gunicorn/20.1.0' |
gunicorn.socket | <socket.socket fd=9, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 8000), raddr=('127.0.0.1', 60418)> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f08ea6d4358> |
wsgi.file_wrapper | '' |
wsgi.input | <gunicorn.http.body.Body object at 0x7f08ea6d4c18> |
wsgi.input_terminated | True |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
app.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ACCOUNT_ACTIVATION_DAYS | 7 |
ADMINS | (('web team', 'webteam@mosman.nsw.gov.au'),) |
ALLOWED_HOSTS | ['*'] |
ANONYMOUS_USER_ID | -1 |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ('django.contrib.auth.backends.ModelBackend', 'guardian.backends.ObjectPermissionBackend') |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
AUTO_RENDER_SELECT2_STATICS | False |
BASE_DIR | '/home/mosman1914' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CKEDITOR_CONFIGS | {'default': {'forcePasteAsPlainText': True, 'height': 200, 'toolbar': [{'items': ['Source', 'Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo'], 'name': 'clipboard'}, {'items': ['SelectAll', 'Link', 'Unlink'], 'name': 'editing'}, {'items': ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat'], 'name': 'basicstyles'}, {'items': ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote'], 'name': 'paragraph'}], 'width': '50%'}} |
CKEDITOR_UPLOAD_PATH | '/home/mosman1914/mosman1914_dob/media' |
CMS_TEMPLATES | (('cms_template_1.html', 'Template One'), ('cms_template_2.html', 'Template Two')) |
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': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'mosman1914django', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'mosman1914django'}} |
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 | 'j M 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 | 'admin@mosman1914-1918.net' |
DEFAULT_INDEX_TABLESPACE | '' |
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 |
ENABLE_SELECT2_MULTI_PROCESS_SUPPORT | True |
FILE_CHARSET | 'utf-8' |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | None |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.admin', 'reversion', 'guardian', 'django_registration', 'django_select2', 'easy_thumbnails', 'django_extensions', 'ckeditor', 'app.templatetags', 'app.memorials', 'app.people', 'app.events', 'app.places', 'app.objects', 'app.sources', 'app.linkeddata') |
INTERNAL_IPS | [] |
LANGUAGES | [('en', 'English')] |
LANGUAGES_BIDI | ['he', 'ar', 'fa', 'ur'] |
LANGUAGE_CODE | 'en-au' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LOCALE_PATHS | [] |
LOGGING | {'disable_existing_loggers': False, 'filters': {'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}}, 'handlers': {'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'filters': ['require_debug_false'], 'level': 'ERROR'}}, 'loggers': {'django.request': {'handlers': ['mail_admins'], 'level': 'ERROR', 'propagate': True}}, 'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | () |
MEDIA_ROOT | '/home/mosman1914/mosman1914_dob/media/' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'middleware.ssl.SSLMiddleware') |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
PROJECT_PATH | '/home/mosman1914/mosman1914_dob' |
ROOT_URLCONF | 'app.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 |
SELECT2_BOOTSTRAP | True |
SELECT2_CACHE_BACKEND | 'default' |
SELECT2_CACHE_PREFIX | 'select2_' |
SELECT2_CSS | '//cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.min.css' |
SELECT2_I18N_AVAILABLE_LANGUAGES | ['ar', 'az', 'bg', 'ca', 'cs', 'da', 'de', 'el', 'en', 'es', 'et', 'eu', 'fa', 'fi', 'fr', 'gl', 'he', 'hi', 'hr', 'hu', 'id', 'is', 'it', 'ja', 'km', 'ko', 'lt', 'lv', 'mk', 'ms', 'nb', 'nl', 'pl', 'pt-BR', 'pt', 'ro', 'ru', 'sk', 'sr-Cyrl', 'sr', 'sv', 'th', 'tr', 'uk', 'vi', 'zh-CN', 'zh-TW'] |
SELECT2_I18N_PATH | '//cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/i18n' |
SELECT2_JS | '//cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.min.js' |
SELECT2_LIB_VERSION | '4.0.5' |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'app.settings' |
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/mosman1914/mosman1914_dob/static', '/home/mosman1914/mosman1914_dob/app/static') |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder') |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | None |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/home/mosman1914/mosman1914_dob/app/templates'], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}] |
TEMPLATE_CONTEXT_PROCESSORS | ('django.contrib.auth.context_processors.auth', 'django.core.context_processors.i18n', 'django.core.context_processors.request', 'django.core.context_processors.media', 'django.core.context_processors.static') |
TEMPLATE_DEBUG | True |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
THUMBNAIL_DEBUG | False |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'America/Chicago' |
USE_I18N | True |
USE_L10N | False |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'app.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.