'staticfiles' is not a registered tag library. Must be one of: account admin_list admin_modify admin_urls cache comments comments_xtd crispy_forms_field crispy_forms_filters crispy_forms_tags crispy_forms_utils crowdnews_adverts crowdnews_articles crowdnews_customcomments crowdnews_profiles crowdnews_sections crowdnews_storylines grp_tags highlighting i18n indent_text l10n log md2 pagination_tags postman_admin_modify postman_tags socialaccount static syntax_color truncate_letters tz widont
Request Method: | GET |
---|---|
Request URL: | https://www.unslanted.net/comments/reply/8165/ |
Django Version: | 3.2.11 |
Exception Type: | TemplateSyntaxError |
Exception Value: | 'staticfiles' is not a registered tag library. Must be one of: account admin_list admin_modify admin_urls cache comments comments_xtd crispy_forms_field crispy_forms_filters crispy_forms_tags crispy_forms_utils crowdnews_adverts crowdnews_articles crowdnews_customcomments crowdnews_profiles crowdnews_sections crowdnews_storylines grp_tags highlighting i18n indent_text l10n log md2 pagination_tags postman_admin_modify postman_tags socialaccount static syntax_color truncate_letters tz widont |
Exception Location: | /usr/local/lib/python3.6/dist-packages/django/template/defaulttags.py, line 1038, in find_library |
Python Executable: | /usr/local/bin/uwsgi |
Python Version: | 3.6.9 |
Python Path: | ['.', '', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages'] |
Server time: | Fri, 29 Mar 2024 07:25:46 -0400 |
In template /home/crowdnews/crowdnews/templates/django_comments_xtd/base.html
, error at line 3
1 | {% extends "base/base.html" %} |
---|---|
2 | |
3 | {% load staticfiles %} |
4 | {% block extrahead %} |
5 | <meta charset="utf-8" /> |
6 | <title>{% block title %}{% endblock %}</title> |
7 | {# <link href="{% static 'django_comments_xtd/css/bootstrap.min.css' %}" rel="stylesheet"> #} |
8 | {% endblock %} |
9 | <h2>{% block header %}{% endblock %}</h2> |
10 | |
11 | <div class="row row row-fluid"> |
12 | <div class="wpb_column columns small-12 medium-12"> |
13 | <div class="vc_column-inner "> |
/usr/local/lib/python3.6/dist-packages/django/template/defaulttags.py
, line 1034, in find_library
nodelist_false = NodeList()
values = [parser.compile_filter(bit) for bit in bits[1:]]
return IfChangedNode(nodelist_true, nodelist_false, *values)
def find_library(parser, name):
try:
return parser.libraries[name]…
except KeyError:
raise TemplateSyntaxError(
"'%s' is not a registered tag library. Must be one of:\n%s" % (
name, "\n".join(sorted(parser.libraries)),
),
)
Variable | Value |
---|---|
name | 'staticfiles' |
parser | <django.template.base.Parser object at 0x7f4a0150d080> |
/usr/local/lib/python3.6/dist-packages/django/core/handlers/exception.py
, line 47, in inner
response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)
return response
return inner
else:
@wraps(get_response)
def inner(request):
try:
response = get_response(request)…
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | TemplateSyntaxError("'staticfiles' is not a registered tag library. Must be one of:\naccount\nadmin_list\nadmin_modify\nadmin_urls\ncache\ncomments\ncomments_xtd\ncrispy_forms_field\ncrispy_forms_filters\ncrispy_forms_tags\ncrispy_forms_utils\ncrowdnews_adverts\ncrowdnews_articles\ncrowdnews_customcomments\ncrowdnews_profiles\ncrowdnews_sections\ncrowdnews_storylines\ngrp_tags\nhighlighting\ni18n\nindent_text\nl10n\nlog\nmd2\npagination_tags\npostman_admin_modify\npostman_tags\nsocialaccount\nstatic\nsyntax_color\ntruncate_letters\ntz\nwidont",) |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f4a3275cbe0>> |
request | <WSGIRequest: GET '/comments/reply/8165/'> |
/usr/local/lib/python3.6/dist-packages/django/core/handlers/base.py
, line 181, in _get_response
if response is None:
wrapped_callback = self.make_view_atomic(callback)
# If it is an asynchronous view, run it in a subthread.
if asyncio.iscoroutinefunction(wrapped_callback):
wrapped_callback = async_to_sync(wrapped_callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
# Complain if the view returned None (a common error).
Variable | Value |
---|---|
callback | <function reply at 0x7f4a06a246a8> |
callback_args | () |
callback_kwargs | {'cid': '8165'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f4a32712b00>> |
request | <WSGIRequest: GET '/comments/reply/8165/'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f4a3275cbe0> |
wrapped_callback | <function reply at 0x7f4a06a246a8> |
/usr/local/lib/python3.6/dist-packages/django_comments_xtd/views.py
, line 336, in reply
comment.content_type.app_label,
comment.content_type.model),
"django_comments_xtd/%s/reply.html" % (
comment.content_type.app_label,),
"django_comments_xtd/reply.html"
]
return render(request, template_arg,
{"comment": comment, "form": form, "cid": cid, "next": next})…
def mute(request, key):
try:
tmp_comment = signed.loads(str(key),
extra_key=settings.COMMENTS_XTD_SALT)
Variable | Value |
---|---|
cid | '8165' |
comment | <CustomComment: Antoniocah: Can I contact Administration? It is about advert...> |
ct_str | 'article.article' |
form | <CustomCommentForm bound=False, valid=Unknown, fields=(content_type;object_pk;timestamp;security_hash;name;email;url;comment;honeypot;followup;reply_to)> |
next | '/comments/sent/' |
options | {'allow_feedback': True, 'allow_flagging': True, 'show_feedback': True, 'who_can_post': 'all'} |
request | <WSGIRequest: GET '/comments/reply/8165/'> |
template_arg | ['django_comments_xtd/article/article/reply.html', 'django_comments_xtd/article/reply.html', 'django_comments_xtd/reply.html'] |
/usr/local/lib/python3.6/dist-packages/django/shortcuts.py
, line 19, 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 | {'cid': '8165', 'comment': <CustomComment: Antoniocah: Can I contact Administration? It is about advert...>, 'form': <CustomCommentForm bound=False, valid=Unknown, fields=(content_type;object_pk;timestamp;security_hash;name;email;url;comment;honeypot;followup;reply_to)>, 'next': '/comments/sent/'} |
request | <WSGIRequest: GET '/comments/reply/8165/'> |
status | None |
template_name | ['django_comments_xtd/article/article/reply.html', 'django_comments_xtd/article/reply.html', 'django_comments_xtd/reply.html'] |
using | None |
/usr/local/lib/python3.6/dist-packages/django/template/loader.py
, line 62, in render_to_string
template_name may be a string or a list of strings.
"""
if isinstance(template_name, (list, tuple)):
template = select_template(template_name, using=using)
else:
template = get_template(template_name, using=using)
return template.render(context, request)…
def _engine_list(using=None):
return engines.all() if using is None else [engines[using]]
Variable | Value |
---|---|
context | {'cid': '8165', 'comment': <CustomComment: Antoniocah: Can I contact Administration? It is about advert...>, 'form': <CustomCommentForm bound=False, valid=Unknown, fields=(content_type;object_pk;timestamp;security_hash;name;email;url;comment;honeypot;followup;reply_to)>, 'next': '/comments/sent/'} |
request | <WSGIRequest: GET '/comments/reply/8165/'> |
template | <django.template.backends.django.Template object at 0x7f4a02136320> |
template_name | ['django_comments_xtd/article/article/reply.html', 'django_comments_xtd/article/reply.html', 'django_comments_xtd/reply.html'] |
using | None |
/usr/local/lib/python3.6/dist-packages/django/template/backends/django.py
, line 61, in render
@property
def origin(self):
return self.template.origin
def render(self, context=None, request=None):
context = make_context(context, request, autoescape=self.backend.engine.autoescape)
try:
return self.template.render(context)…
except TemplateDoesNotExist as exc:
reraise(exc, self.backend)
def copy_exception(exc, backend=None):
"""
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'comment': <CustomComment: Antoniocah: Can I contact Administration? It is about advert...>, 'form': <CustomCommentForm bound=False, valid=Unknown, fields=(content_type;object_pk;timestamp;security_hash;name;email;url;comment;honeypot;followup;reply_to)>, 'cid': '8165', 'next': '/comments/sent/'}] |
request | <WSGIRequest: GET '/comments/reply/8165/'> |
self | <django.template.backends.django.Template object at 0x7f4a02136320> |
/usr/local/lib/python3.6/dist-packages/django/template/base.py
, line 170, in render
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)…
else:
return self._render(context)
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'comment': <CustomComment: Antoniocah: Can I contact Administration? It is about advert...>, 'form': <CustomCommentForm bound=False, valid=Unknown, fields=(content_type;object_pk;timestamp;security_hash;name;email;url;comment;honeypot;followup;reply_to)>, 'cid': '8165', 'next': '/comments/sent/'}] |
self | <django.template.base.Template object at 0x7f4a04886a90> |
/usr/local/lib/python3.6/dist-packages/django/template/base.py
, line 162, 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}, {}, {}, {'comment': <CustomComment: Antoniocah: Can I contact Administration? It is about advert...>, 'form': <CustomCommentForm bound=False, valid=Unknown, fields=(content_type;object_pk;timestamp;security_hash;name;email;url;comment;honeypot;followup;reply_to)>, 'cid': '8165', 'next': '/comments/sent/'}] |
self | <django.template.base.Template object at 0x7f4a04886a90> |
/usr/local/lib/python3.6/dist-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'comment': <CustomComment: Antoniocah: Can I contact Administration? It is about advert...>, 'form': <CustomCommentForm bound=False, valid=Unknown, fields=(content_type;object_pk;timestamp;security_hash;name;email;url;comment;honeypot;followup;reply_to)>, 'cid': '8165', 'next': '/comments/sent/'}] |
node | <ExtendsNode: extends "django_comments_xtd/base.html"> |
self | [<ExtendsNode: extends "django_comments_xtd/base.html">] |
/usr/local/lib/python3.6/dist-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'comment': <CustomComment: Antoniocah: Can I contact Administration? It is about advert...>, 'form': <CustomCommentForm bound=False, valid=Unknown, fields=(content_type;object_pk;timestamp;security_hash;name;email;url;comment;honeypot;followup;reply_to)>, 'cid': '8165', 'next': '/comments/sent/'}] |
self | <ExtendsNode: extends "django_comments_xtd/base.html"> |
/usr/local/lib/python3.6/dist-packages/django/template/loader_tags.py
, line 127, in render
return parent
if isinstance(getattr(parent, 'template', None), Template):
# parent is a django.template.backends.django.Template
return parent.template
return self.find_template(parent, context)
def render(self, context):
compiled_parent = self.get_parent(context)…
if BLOCK_CONTEXT_KEY not in context.render_context:
context.render_context[BLOCK_CONTEXT_KEY] = BlockContext()
block_context = context.render_context[BLOCK_CONTEXT_KEY]
# Add the block nodes from this node to the block context
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'comment': <CustomComment: Antoniocah: Can I contact Administration? It is about advert...>, 'form': <CustomCommentForm bound=False, valid=Unknown, fields=(content_type;object_pk;timestamp;security_hash;name;email;url;comment;honeypot;followup;reply_to)>, 'cid': '8165', 'next': '/comments/sent/'}] |
self | <ExtendsNode: extends "django_comments_xtd/base.html"> |
/usr/local/lib/python3.6/dist-packages/django/template/loader_tags.py
, line 124, in get_parent
raise TemplateSyntaxError(error_msg)
if isinstance(parent, Template):
# parent is a django.template.Template
return parent
if isinstance(getattr(parent, 'template', None), Template):
# parent is a django.template.backends.django.Template
return parent.template
return self.find_template(parent, context)…
def render(self, context):
compiled_parent = self.get_parent(context)
if BLOCK_CONTEXT_KEY not in context.render_context:
context.render_context[BLOCK_CONTEXT_KEY] = BlockContext()
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'comment': <CustomComment: Antoniocah: Can I contact Administration? It is about advert...>, 'form': <CustomCommentForm bound=False, valid=Unknown, fields=(content_type;object_pk;timestamp;security_hash;name;email;url;comment;honeypot;followup;reply_to)>, 'cid': '8165', 'next': '/comments/sent/'}] |
parent | 'django_comments_xtd/base.html' |
self | <ExtendsNode: extends "django_comments_xtd/base.html"> |
/usr/local/lib/python3.6/dist-packages/django/template/loader_tags.py
, line 104, in find_template
passed as the skip argument. This enables extends to work recursively
without extending the same template twice.
"""
history = context.render_context.setdefault(
self.context_key, [self.origin],
)
template, origin = context.template.engine.find_template(
template_name, skip=history,…
)
history.append(origin)
return template
def get_parent(self, context):
parent = self.parent_name.resolve(context)
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'comment': <CustomComment: Antoniocah: Can I contact Administration? It is about advert...>, 'form': <CustomCommentForm bound=False, valid=Unknown, fields=(content_type;object_pk;timestamp;security_hash;name;email;url;comment;honeypot;followup;reply_to)>, 'cid': '8165', 'next': '/comments/sent/'}] |
history | [<django.template.base.Origin object at 0x7f4a04886780>] |
self | <ExtendsNode: extends "django_comments_xtd/base.html"> |
template_name | 'django_comments_xtd/base.html' |
/usr/local/lib/python3.6/dist-packages/django/template/engine.py
, line 125, in find_template
raise ImproperlyConfigured(
"Invalid value in template loaders configuration: %r" % loader)
def find_template(self, name, dirs=None, skip=None):
tried = []
for loader in self.template_loaders:
try:
template = loader.get_template(name, skip=skip)…
return template, template.origin
except TemplateDoesNotExist as e:
tried.extend(e.tried)
raise TemplateDoesNotExist(name, tried=tried)
def from_string(self, template_code):
Variable | Value |
---|---|
dirs | None |
loader | <django.template.loaders.filesystem.Loader object at 0x7f4a04d97278> |
name | 'django_comments_xtd/base.html' |
self | <django.template.engine.Engine object at 0x7f4a04e18828> |
skip | [<django.template.base.Origin object at 0x7f4a04886780>] |
tried | [] |
/usr/local/lib/python3.6/dist-packages/django/template/loaders/base.py
, line 30, in get_template
try:
contents = self.get_contents(origin)
except TemplateDoesNotExist:
tried.append((origin, 'Source does not exist'))
continue
else:
return Template(
contents, origin, origin.template_name, self.engine,…
)
raise TemplateDoesNotExist(template_name, tried=tried)
def get_template_sources(self, template_name):
"""
Variable | Value |
---|---|
contents | ('{% extends "base/base.html" %}\n' '\n' '{% load staticfiles %}\n' '{% block extrahead %}\n' ' <meta charset="utf-8" />\n' ' <title>{% block title %}{% endblock %}</title>\n' ' {# <link href="{% static \'django_comments_xtd/css/bootstrap.min.css\' ' '%}" rel="stylesheet"> #}\n' '{% endblock %}\n' '\t <h2>{% block header %}{% endblock %}</h2>\n' '\n' '<div class="row row row-fluid">\n' '\t<div class="wpb_column columns small-12 medium-12">\n' '\t\t<div class="vc_column-inner ">\n' '\t\t\t<div class="wpb_wrapper">\n' ' {% block content %}\n' ' {% endblock %}\n' ' </div>\n' '</div>\n' '</div>\n' '</div>\n' '</body></html>\n') |
origin | <django.template.base.Origin object at 0x7f4a02fe1eb8> |
self | <django.template.loaders.filesystem.Loader object at 0x7f4a04d97278> |
skip | [<django.template.base.Origin object at 0x7f4a04886780>] |
template_name | 'django_comments_xtd/base.html' |
tried | [] |
/usr/local/lib/python3.6/dist-packages/django/template/base.py
, line 155, in __init__
engine = Engine.get_default()
if origin is None:
origin = Origin(UNKNOWN_SOURCE)
self.name = name
self.origin = origin
self.engine = engine
self.source = str(template_string) # May be lazy.
self.nodelist = self.compile_nodelist()…
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
Variable | Value |
---|---|
engine | <django.template.engine.Engine object at 0x7f4a04e18828> |
name | 'django_comments_xtd/base.html' |
origin | <django.template.base.Origin object at 0x7f4a02fe1eb8> |
self | <django.template.base.Template object at 0x7f4a02fe1630> |
template_string | ('{% extends "base/base.html" %}\n' '\n' '{% load staticfiles %}\n' '{% block extrahead %}\n' ' <meta charset="utf-8" />\n' ' <title>{% block title %}{% endblock %}</title>\n' ' {# <link href="{% static \'django_comments_xtd/css/bootstrap.min.css\' ' '%}" rel="stylesheet"> #}\n' '{% endblock %}\n' '\t <h2>{% block header %}{% endblock %}</h2>\n' '\n' '<div class="row row row-fluid">\n' '\t<div class="wpb_column columns small-12 medium-12">\n' '\t\t<div class="vc_column-inner ">\n' '\t\t\t<div class="wpb_wrapper">\n' ' {% block content %}\n' ' {% endblock %}\n' ' </div>\n' '</div>\n' '</div>\n' '</div>\n' '</body></html>\n') |
/usr/local/lib/python3.6/dist-packages/django/template/base.py
, line 193, in compile_nodelist
tokens = lexer.tokenize()
parser = Parser(
tokens, self.engine.template_libraries, self.engine.template_builtins,
self.origin,
)
try:
return parser.parse()…
except Exception as e:
if self.engine.debug:
e.template_debug = self.get_exception_info(e, e.token)
raise
def get_exception_info(self, exception, token):
Variable | Value |
---|---|
lexer | <django.template.base.DebugLexer object at 0x7f4a02fe1f28> |
parser | <django.template.base.Parser object at 0x7f4a0150d080> |
self | <django.template.base.Template object at 0x7f4a02fe1630> |
tokens | [<django.template.base.Token object at 0x7f4a02fe1400>, <django.template.base.Token object at 0x7f4a02fe1860>, <django.template.base.Token object at 0x7f4a02fe1d68>, <django.template.base.Token object at 0x7f4a02fe1da0>, <django.template.base.Token object at 0x7f4a0150dc88>, <django.template.base.Token object at 0x7f4a0150d908>, <django.template.base.Token object at 0x7f4a0150de10>, <django.template.base.Token object at 0x7f4a0150df98>, <django.template.base.Token object at 0x7f4a0150d6d8>, <django.template.base.Token object at 0x7f4a0150df28>, <django.template.base.Token object at 0x7f4a0150d2b0>, <django.template.base.Token object at 0x7f4a0150dac8>, <django.template.base.Token object at 0x7f4a0150d438>, <django.template.base.Token object at 0x7f4a0150d8d0>, <django.template.base.Token object at 0x7f4a0150dc18>, <django.template.base.Token object at 0x7f4a0150d860>, <django.template.base.Token object at 0x7f4a0150dd30>, <django.template.base.Token object at 0x7f4a0150d278>, <django.template.base.Token object at 0x7f4a0150dda0>, <django.template.base.Token object at 0x7f4a02fe1828>] |
/usr/local/lib/python3.6/dist-packages/django/template/base.py
, line 478, in parse
except KeyError:
self.invalid_block_tag(token, command, parse_until)
# Compile the callback into a node object and add it to
# the node list.
try:
compiled_result = compile_func(self, token)
except Exception as e:
raise self.error(token, e)…
self.extend_nodelist(nodelist, compiled_result, token)
# Compile success. Remove the token from the command stack.
self.command_stack.pop()
if parse_until:
self.unclosed_block_tag(parse_until)
return nodelist
Variable | Value |
---|---|
command | 'extends' |
compile_func | <function do_extends at 0x7f4a3580ce18> |
nodelist | [] |
parse_until | [] |
self | <django.template.base.Parser object at 0x7f4a0150d080> |
token | <django.template.base.Token object at 0x7f4a02fe1400> |
/usr/local/lib/python3.6/dist-packages/django/template/base.py
, line 476, in parse
try:
compile_func = self.tags[command]
except KeyError:
self.invalid_block_tag(token, command, parse_until)
# Compile the callback into a node object and add it to
# the node list.
try:
compiled_result = compile_func(self, token)…
except Exception as e:
raise self.error(token, e)
self.extend_nodelist(nodelist, compiled_result, token)
# Compile success. Remove the token from the command stack.
self.command_stack.pop()
if parse_until:
Variable | Value |
---|---|
command | 'extends' |
compile_func | <function do_extends at 0x7f4a3580ce18> |
nodelist | [] |
parse_until | [] |
self | <django.template.base.Parser object at 0x7f4a0150d080> |
token | <django.template.base.Token object at 0x7f4a02fe1400> |
/usr/local/lib/python3.6/dist-packages/django/template/loader_tags.py
, line 278, in do_extends
the parent template itself (if it evaluates to a Template object).
"""
bits = token.split_contents()
if len(bits) != 2:
raise TemplateSyntaxError("'%s' takes one argument" % bits[0])
bits[1] = construct_relative_path(parser.origin.template_name, bits[1])
parent_name = parser.compile_filter(bits[1])
nodelist = parser.parse()…
if nodelist.get_nodes_by_type(ExtendsNode):
raise TemplateSyntaxError("'%s' cannot appear more than once in the same template" % bits[0])
return ExtendsNode(nodelist, parent_name)
@register.tag('include')
Variable | Value |
---|---|
bits | ['extends', '"base/base.html"'] |
parent_name | <django.template.base.FilterExpression object at 0x7f4a0150dbe0> |
parser | <django.template.base.Parser object at 0x7f4a0150d080> |
token | <django.template.base.Token object at 0x7f4a02fe1400> |
/usr/local/lib/python3.6/dist-packages/django/template/base.py
, line 478, in parse
except KeyError:
self.invalid_block_tag(token, command, parse_until)
# Compile the callback into a node object and add it to
# the node list.
try:
compiled_result = compile_func(self, token)
except Exception as e:
raise self.error(token, e)…
self.extend_nodelist(nodelist, compiled_result, token)
# Compile success. Remove the token from the command stack.
self.command_stack.pop()
if parse_until:
self.unclosed_block_tag(parse_until)
return nodelist
Variable | Value |
---|---|
command | 'load' |
compile_func | <function load at 0x7f4a35800c80> |
nodelist | [<TextNode: '\n\n'>] |
parse_until | [] |
self | <django.template.base.Parser object at 0x7f4a0150d080> |
token | <django.template.base.Token object at 0x7f4a02fe1d68> |
/usr/local/lib/python3.6/dist-packages/django/template/base.py
, line 476, in parse
try:
compile_func = self.tags[command]
except KeyError:
self.invalid_block_tag(token, command, parse_until)
# Compile the callback into a node object and add it to
# the node list.
try:
compiled_result = compile_func(self, token)…
except Exception as e:
raise self.error(token, e)
self.extend_nodelist(nodelist, compiled_result, token)
# Compile success. Remove the token from the command stack.
self.command_stack.pop()
if parse_until:
Variable | Value |
---|---|
command | 'load' |
compile_func | <function load at 0x7f4a35800c80> |
nodelist | [<TextNode: '\n\n'>] |
parse_until | [] |
self | <django.template.base.Parser object at 0x7f4a0150d080> |
token | <django.template.base.Token object at 0x7f4a02fe1d68> |
/usr/local/lib/python3.6/dist-packages/django/template/defaulttags.py
, line 1091, in load
name = bits[-1]
lib = find_library(parser, name)
subset = load_from_library(lib, name, bits[1:-2])
parser.add_library(subset)
else:
# one or more libraries are specified; load and add them to the parser
for name in bits[1:]:
lib = find_library(parser, name)…
parser.add_library(lib)
return LoadNode()
@register.tag
def lorem(parser, token):
Variable | Value |
---|---|
bits | ['load', 'staticfiles'] |
name | 'staticfiles' |
parser | <django.template.base.Parser object at 0x7f4a0150d080> |
token | <django.template.base.Token object at 0x7f4a02fe1d68> |
/usr/local/lib/python3.6/dist-packages/django/template/defaulttags.py
, line 1038, in find_library
def find_library(parser, name):
try:
return parser.libraries[name]
except KeyError:
raise TemplateSyntaxError(
"'%s' is not a registered tag library. Must be one of:\n%s" % (
name, "\n".join(sorted(parser.libraries)),…
),
)
def load_from_library(library, label, names):
"""
Variable | Value |
---|---|
name | 'staticfiles' |
parser | <django.template.base.Parser object at 0x7f4a0150d080> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CONTENT_LENGTH | '' |
CONTENT_TYPE | '' |
DOCUMENT_ROOT | '/var/www/html' |
HTTPS | 'on' |
HTTP_ACCEPT | '*/*' |
HTTP_HOST | 'www.unslanted.net' |
HTTP_USER_AGENT | 'claudebot' |
PATH_INFO | '/comments/reply/8165/' |
QUERY_STRING | '' |
REMOTE_ADDR | '44.192.71.254' |
REMOTE_PORT | '38200' |
REQUEST_METHOD | 'GET' |
REQUEST_SCHEME | 'https' |
REQUEST_URI | '/comments/reply/8165/' |
SCRIPT_NAME | '' |
SERVER_NAME | 'unslanted.net' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.1' |
uwsgi.core | 1 |
uwsgi.node | b'unslanted.net' |
uwsgi.version | b'2.0.17' |
wsgi.errors | <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'> |
wsgi.file_wrapper | <built-in function uwsgi_sendfile> |
wsgi.input | <uwsgi._Input object at 0x7f49f8630e58> |
wsgi.multiprocess | False |
wsgi.multithread | True |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
crowdnews.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ACCOUNT_EMAIL_REQUIRED | True |
ACCOUNT_EMAIL_VERIFICATION | 'none' |
ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION | False |
ACCOUNT_UNIQUE_EMAIL | False |
ADMINS | [] |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ('allauth.account.auth_backends.AuthenticationBackend', 'django.contrib.auth.backends.ModelBackend') |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | '/home/crowdnews/crowdnews' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
COMMENTS_APP | 'django_comments_xtd' |
COMMENTS_XTD_APP_MODEL_OPTIONS | {'article.article': {'allow_feedback': True, 'allow_flagging': True, 'show_feedback': True}, 'sections.section': {'allow_feedback': True, 'allow_flagging': True, 'show_feedback': True}, 'storylines.storyline': {'allow_feedback': True, 'allow_flagging': True, 'show_feedback': True}} |
COMMENTS_XTD_CONFIRM_EMAIL | False |
COMMENTS_XTD_CONTACT_EMAIL | 'johnny@walesdata.com' |
COMMENTS_XTD_FORM_CLASS | 'customcomments.forms.CustomCommentForm' |
COMMENTS_XTD_FROM_EMAIL | 'johnny@walesdata.com' |
COMMENTS_XTD_LIST_ORDER | ('-thread_id', 'order') |
COMMENTS_XTD_MAX_THREAD_LEVEL | 32 |
COMMENTS_XTD_MODEL | 'customcomments.models.CustomComment' |
COMMENTS_XTD_SALT | 'supercalifragilisticexpialadocious' |
CRISPY_TEMPLATE_PACK | 'bootstrap4' |
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.postgresql', 'HOST': '127.0.0.1', 'NAME': 'crowdnews', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'cnewsuser'}} |
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', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_AUTO_FIELD | 'django.db.models.AutoField' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'Helpdesk <johnny@walesdata.com>' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
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 |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
GOOGLE_RECAPTCHA_SECRET_KEY | '********************' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['article.apps.ArticleConfig', 'sections.apps.SectionsConfig', 'sources.apps.SourcesConfig', 'profiles.apps.ProfilesConfig', 'storylines.apps.StorylinesConfig', 'webproxy.apps.WebproxyConfig', 'polls.apps.PollsConfig', 'advertisements.apps.AdvertisementsConfig', 'blog.apps.BlogConfig', 'newsbot.apps.NewsbotConfig', 'faqs.apps.FaqsConfig', 'electionator.apps.ElectionatorConfig', 'grappelli', 'crispy_forms', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sites', 'django_extensions', 'django_markdown2', 'django_comments_xtd', 'django_comments', 'customcomments', 'dj_pagination', 'postman', 'allauth', 'allauth.account', 'allauth.socialaccount', 'allauth.socialaccount.providers.facebook', 'allauth.socialaccount.providers.twitter'] |
INTERNAL_IPS | [] |
LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz', 'Algerian Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('ig', 'Igbo'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tg', 'Tajik'), ('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'en-us' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '/home/crowdnews/crowdnews/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 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
POSTMAN_AUTO_MODERATE_AS | None |
POSTMAN_DISABLE_USER_EMAILING | True |
POSTMAN_DISALLOW_ANONYMOUS | True |
POSTMAN_MAILER_APP | None |
PREPEND_WWW | False |
PROJECT_DIR | '/home/crowdnews/crowdnews/crowdnews' |
ROOT_URLCONF | 'crowdnews.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'crowdnews.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 | 5 |
SOCIALACCOUNT_PROVIDERS | {'facebook': {'AUTH_PARAMS': {'auth_type': 'reauthenticate'}, 'EXCHANGE_TOKEN': '********************', 'FIELDS': ['id', 'email', 'name', 'first_name', 'last_name', 'verified', 'updated_time'], 'LOCALE_FUNC': <function <lambda> at 0x7f4a35808d08>, 'METHOD': 'oauth2', 'SCOPE': ['email', 'public_profile', 'user_friends'], 'VERIFIED_EMAIL': False, 'VERSION': 'v2.4'}} |
SOCIAL_AUTH_FACEBOOK_KEY | '********************' |
SOCIAL_AUTH_FACEBOOK_SECRET | '********************' |
STATICFILES_DIRS | ('/home/crowdnews/crowdnews/crowdnews/templates/static/',) |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/home/crowdnews/crowdnews/crowdnews/static' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/home/crowdnews/crowdnews/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', 'django.template.context_processors.request']}}] |
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 | 'America/New_York' |
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 | 'crowdnews.wsgi.application' |
X_FRAME_OPTIONS | 'DENY' |
YEAR_MONTH_FORMAT | 'F Y' |
You’re seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard page generated by the handler for this status code.