'staticfiles' is not a registered tag library. Must be one of: admin_list admin_modify admin_urls cache i18n l10n log static tz
Request Method: | GET |
---|---|
Request URL: | http://www.cs475.org/fall2014/syllabus/ |
Django Version: | 3.1 |
Exception Type: | TemplateSyntaxError |
Exception Value: | 'staticfiles' is not a registered tag library. Must be one of: admin_list admin_modify admin_urls cache i18n l10n log static tz |
Exception Location: | /home/mdredze/apps/cs475/env/lib64/python3.6/site-packages/django/template/defaulttags.py, line 1038, in find_library |
Python Executable: | /home/mdredze/apps/cs475/env/bin/uwsgi |
Python Version: | 3.6.8 |
Python Path: | ['/home/mdredze/apps/cs475/cs475_website/src/', '.', '', '/usr/lib64/python36.zip', '/usr/lib64/python3.6', '/usr/lib64/python3.6/lib-dynload', '/home/mdredze/apps/cs475/env/lib64/python3.6/site-packages', '/home/mdredze/apps/cs475/env/lib/python3.6/site-packages'] |
Server time: | Thu, 28 Mar 2024 05:56:38 -0400 |
In template /home/mdredze/apps/cs475/cs475_website/html/courses/fall2014/syllabus.html
, error at line 194
184 | <tr> |
---|---|
185 | <td valign="top" class="td3"> |
186 | <p class="p1">Th 10/2</p> |
187 | </td> |
188 | <td valign="top" class="td3"> |
189 | <p class="p1">Ensemble Methods</p> |
190 | <p class="p4">Boosting</p> |
191 | </td> |
192 | <td valign="top" class="td3"> |
193 | <p class="p1">Bishop 14.1,14.2,14.3</p> |
194 | {% load staticfiles %} |
195 | <p class="p1"><a href="{% static "readings/boost-tut-ppr.pdf" %}">A Short Introduction to Boosting</a></p> |
196 | </td> |
197 | |
198 | </tr> |
199 | |
200 | |
201 | |
202 | <tr> |
203 | <td valign="top" class="td3"> |
204 | <p class="p1">Tu 10/7</p> |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-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 0x7f3bc18df320> |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-packages/django/core/handlers/exception.py
, line 47, in inner
response = await sync_to_async(response_for_exception)(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:\nadmin_list\nadmin_modify\nadmin_urls\ncache\ni18n\nl10n\nlog\nstatic\ntz",) |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f3bca195be0>> |
request | <WSGIRequest: GET '/fall2014/syllabus/'> |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-packages/django/core/handlers/base.py
, line 179, 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 syllabus at 0x7f3bc1aa6f28> |
callback_args | () |
callback_kwargs | {'course_tag': 'fall2014'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f3bc3e422b0>> |
request | <WSGIRequest: GET '/fall2014/syllabus/'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f3bca195be0> |
wrapped_callback | <function syllabus at 0x7f3bc1aa6f28> |
/home/mdredze/apps/cs475/cs475_website/src/cs475/views.py
, line 56, in syllabus
def syllabus(request, course_tag=None):
course = _get_course_from_id(request.user, course_tag, allow_all_users=True)
courses_template_directory = _get_template_directory(course)
additional_menu_items = _get_additional_menu_items(course)
return render(request, courses_template_directory + 'syllabus.html', {
'course': course,
'additional_menu_items': additional_menu_items,…
})
@login_required
def homework(request, course_tag=None):
course = _get_course_from_id(request.user, course_tag)
homeworks = Homework.objects.filter(course_id=course.course_id).order_by('homework_number')
Variable | Value |
---|---|
additional_menu_items | [] |
course | <Course: 3: Johns Hopkins Machine Learning 600.475 Fall 2014> |
course_tag | 'fall2014' |
courses_template_directory | 'courses/fall2014/' |
request | <WSGIRequest: GET '/fall2014/syllabus/'> |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-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 | {'additional_menu_items': [], 'course': <Course: 3: Johns Hopkins Machine Learning 600.475 Fall 2014>} |
request | <WSGIRequest: GET '/fall2014/syllabus/'> |
status | None |
template_name | 'courses/fall2014/syllabus.html' |
using | None |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-packages/django/template/loader.py
, line 61, in render_to_string
Load a template and render it with a context. Return a string.
template_name may be a string or a list of strings.
"""
if isinstance(template_name, (list, tuple)):
template = select_template(template_name, using=using)
else:
template = get_template(template_name, using=using)…
return template.render(context, request)
def _engine_list(using=None):
return engines.all() if using is None else [engines[using]]
Variable | Value |
---|---|
context | {'additional_menu_items': [], 'course': <Course: 3: Johns Hopkins Machine Learning 600.475 Fall 2014>} |
request | <WSGIRequest: GET '/fall2014/syllabus/'> |
template_name | 'courses/fall2014/syllabus.html' |
using | None |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-packages/django/template/loader.py
, line 15, in get_template
Raise TemplateDoesNotExist if no such template exists.
"""
chain = []
engines = _engine_list(using)
for engine in engines:
try:
return engine.get_template(template_name)…
except TemplateDoesNotExist as e:
chain.append(e)
raise TemplateDoesNotExist(template_name, chain=chain)
Variable | Value |
---|---|
chain | [] |
engine | <django.template.backends.django.DjangoTemplates object at 0x7f3bc19fbf60> |
engines | [<django.template.backends.django.DjangoTemplates object at 0x7f3bc19fbf60>] |
template_name | 'courses/fall2014/syllabus.html' |
using | None |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-packages/django/template/backends/django.py
, line 34, in get_template
self.engine = Engine(self.dirs, self.app_dirs, **options)
def from_string(self, template_code):
return Template(self.engine.from_string(template_code), self)
def get_template(self, template_name):
try:
return Template(self.engine.get_template(template_name), self)…
except TemplateDoesNotExist as exc:
reraise(exc, self)
def get_templatetag_libraries(self, custom_libraries):
"""
Return a collation of template tag libraries from installed
Variable | Value |
---|---|
self | <django.template.backends.django.DjangoTemplates object at 0x7f3bc19fbf60> |
template_name | 'courses/fall2014/syllabus.html' |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-packages/django/template/engine.py
, line 143, in get_template
return Template(template_code, engine=self)
def get_template(self, template_name):
"""
Return a compiled Template object for the given template name,
handling template inheritance recursively.
"""
template, origin = self.find_template(template_name)…
if not hasattr(template, 'render'):
# template needs to be compiled
template = Template(template, origin, template_name, engine=self)
return template
def render_to_string(self, template_name, context=None):
Variable | Value |
---|---|
self | <django.template.engine.Engine object at 0x7f3bc19fbc50> |
template_name | 'courses/fall2014/syllabus.html' |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-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 0x7f3bc19fbef0> |
name | 'courses/fall2014/syllabus.html' |
self | <django.template.engine.Engine object at 0x7f3bc19fbc50> |
skip | None |
tried | [] |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-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.html" %}\n' '\n' '{% block title %}: Syllabus{% endblock %}\n' '{% block pagename %}Syllabus{% endblock %}\n' '\n' '{% block content %}\t\n' '\t\t\t\n' '\t\t\t<div class="bodytext" style="padding:12px;" align="justify">\n' '<table cellspacing="0" cellpadding="0" class="t1">\n' ' <tbody>\n' ' <tr>\n' ' <td valign="top" class="td1">\n' ' <p class="p1"><b>Date</b></p>\n' ' </td>\n' ' <td valign="top" class="td1">\n' ' <p class="p1"><b>Topics</b></p>\n' ' </td>\n' ' <td valign="top" class="td1">\n' ' <p class="p1"><b>Readings</b></p>\n' ' </td>\n' ' </tr>\n' ' <tr>\n' ' <td valign="top" class="td1" colspan="4" align="center">\n' ' <p class="p3">Introduction</p>\n' ' </td>\n' ' </tr>\n' ' <tr>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Th 8/28</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Machine Learning Foundations</p>\n' ' <p class="p4">Overview, applications, settings</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Bishop 1</p>\n' ' </td>\n' ' \n' ' </tr>\n' ' <tr>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Tu 9/2</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Probability</p>\n' ' <p class="p4">Probability, stats</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">You do NOT need to read all <br>of these. However, you ' 'should<br> be familiar with the material.</p>\n' ' <p class="p1">Probability:</p>\n' ' <p class="p5">Bishop Chapter 2</p>\n' ' <p class="p5">Bishop Appendix B</p>\n' ' <p class="p5"><a ' 'href="http://www.autonlab.org/tutorials/prob.html">Andrew Moore ' 'Tutorial</a></p>\n' ' <p class="p5"><a ' 'href="http://research.microsoft.com/en-us/um/people/minka/papers/nuances.html">Tom ' "Minka's nuances of probability (advanced)</a></p>\n" ' <p class="p5"><a ' 'href="http://mathworld.wolfram.com/topics/ProbabilityandStatistics.html">Wolfram ' 'Probability and stats</a></p>\n' ' </td>\n' ' \n' ' </tr>\n' ' \n' ' \n' ' \n' ' <tr>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Th 9/4</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Decision Trees</p>\n' ' <p class="p4">Construction, pruining, over-fitting</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1"><a ' 'href="http://robotics.stanford.edu/people/nilsson/mlbook.html">Nilsson ' 'chapter 6</a></p>\n' ' </td>\n' ' \n' ' </tr>\n' ' <tr>\n' ' <td valign="top" class="td1" colspan="4" align="center">\n' ' <p class="p3">Supervised Learning: Linear Methods</p>\n' ' </td>\n' ' </tr>\n' ' \n' ' <tr>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Tu 9/9</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Regression</p>\n' ' <p class="p4">Least squares and regression</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Bishop 3</p>\n' ' </td>\n' ' \n' ' </tr>\n' ' <tr>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Th 9/11</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Classification</p>\n' ' <p class="p4">Logistic Regression</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Bishop 4</p>\n' ' </td>\n' ' \n' ' </tr>\n' ' <tr>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Tu 9/16</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Naive Bayes</p>\n' ' <p class="p4"></p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class… <trimmed 17583 bytes string> |
origin | <django.template.base.Origin object at 0x7f3bc4026ef0> |
self | <django.template.loaders.filesystem.Loader object at 0x7f3bc19fbef0> |
skip | None |
template_name | 'courses/fall2014/syllabus.html' |
tried | [] |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-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 0x7f3bc19fbc50> |
name | 'courses/fall2014/syllabus.html' |
origin | <django.template.base.Origin object at 0x7f3bc4026ef0> |
self | <django.template.base.Template object at 0x7f3b1aebca58> |
template_string | ('{% extends "base.html" %}\n' '\n' '{% block title %}: Syllabus{% endblock %}\n' '{% block pagename %}Syllabus{% endblock %}\n' '\n' '{% block content %}\t\n' '\t\t\t\n' '\t\t\t<div class="bodytext" style="padding:12px;" align="justify">\n' '<table cellspacing="0" cellpadding="0" class="t1">\n' ' <tbody>\n' ' <tr>\n' ' <td valign="top" class="td1">\n' ' <p class="p1"><b>Date</b></p>\n' ' </td>\n' ' <td valign="top" class="td1">\n' ' <p class="p1"><b>Topics</b></p>\n' ' </td>\n' ' <td valign="top" class="td1">\n' ' <p class="p1"><b>Readings</b></p>\n' ' </td>\n' ' </tr>\n' ' <tr>\n' ' <td valign="top" class="td1" colspan="4" align="center">\n' ' <p class="p3">Introduction</p>\n' ' </td>\n' ' </tr>\n' ' <tr>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Th 8/28</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Machine Learning Foundations</p>\n' ' <p class="p4">Overview, applications, settings</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Bishop 1</p>\n' ' </td>\n' ' \n' ' </tr>\n' ' <tr>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Tu 9/2</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Probability</p>\n' ' <p class="p4">Probability, stats</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">You do NOT need to read all <br>of these. However, you ' 'should<br> be familiar with the material.</p>\n' ' <p class="p1">Probability:</p>\n' ' <p class="p5">Bishop Chapter 2</p>\n' ' <p class="p5">Bishop Appendix B</p>\n' ' <p class="p5"><a ' 'href="http://www.autonlab.org/tutorials/prob.html">Andrew Moore ' 'Tutorial</a></p>\n' ' <p class="p5"><a ' 'href="http://research.microsoft.com/en-us/um/people/minka/papers/nuances.html">Tom ' "Minka's nuances of probability (advanced)</a></p>\n" ' <p class="p5"><a ' 'href="http://mathworld.wolfram.com/topics/ProbabilityandStatistics.html">Wolfram ' 'Probability and stats</a></p>\n' ' </td>\n' ' \n' ' </tr>\n' ' \n' ' \n' ' \n' ' <tr>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Th 9/4</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Decision Trees</p>\n' ' <p class="p4">Construction, pruining, over-fitting</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1"><a ' 'href="http://robotics.stanford.edu/people/nilsson/mlbook.html">Nilsson ' 'chapter 6</a></p>\n' ' </td>\n' ' \n' ' </tr>\n' ' <tr>\n' ' <td valign="top" class="td1" colspan="4" align="center">\n' ' <p class="p3">Supervised Learning: Linear Methods</p>\n' ' </td>\n' ' </tr>\n' ' \n' ' <tr>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Tu 9/9</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Regression</p>\n' ' <p class="p4">Least squares and regression</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Bishop 3</p>\n' ' </td>\n' ' \n' ' </tr>\n' ' <tr>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Th 9/11</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Classification</p>\n' ' <p class="p4">Logistic Regression</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Bishop 4</p>\n' ' </td>\n' ' \n' ' </tr>\n' ' <tr>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Tu 9/16</p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class="p1">Naive Bayes</p>\n' ' <p class="p4"></p>\n' ' </td>\n' ' <td valign="top" class="td3">\n' ' <p class… <trimmed 17583 bytes string> |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-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 0x7f3b1aebc8d0> |
parser | <django.template.base.Parser object at 0x7f3bc18df320> |
self | <django.template.base.Template object at 0x7f3b1aebca58> |
tokens | [<django.template.base.Token object at 0x7f3b1aebc898>, <django.template.base.Token object at 0x7f3bc40d6d68>, <django.template.base.Token object at 0x7f3bc40f1a58>, <django.template.base.Token object at 0x7f3bc40f1278>, <django.template.base.Token object at 0x7f3bc40f17f0>, <django.template.base.Token object at 0x7f3bc4065358>, <django.template.base.Token object at 0x7f3bc4065710>, <django.template.base.Token object at 0x7f3bc4065e48>, <django.template.base.Token object at 0x7f3bc4065940>, <django.template.base.Token object at 0x7f3bc40712b0>, <django.template.base.Token object at 0x7f3bc4046160>, <django.template.base.Token object at 0x7f3bc4046a20>, <django.template.base.Token object at 0x7f3bc415c0f0>, <django.template.base.Token object at 0x7f3bc41245f8>, <django.template.base.Token object at 0x7f3bc4124b38>, <django.template.base.Token object at 0x7f3bc18430b8>, <django.template.base.Token object at 0x7f3bc18437f0>, <django.template.base.Token object at 0x7f3bc1843198>, <django.template.base.Token object at 0x7f3bc1843e48>, <django.template.base.Token object at 0x7f3bc18df588>, <django.template.base.Token object at 0x7f3bc18dfda0>, <django.template.base.Token object at 0x7f3b1aebc5c0>] |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-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 0x7f3bc60f1ea0> |
nodelist | [] |
parse_until | [] |
self | <django.template.base.Parser object at 0x7f3bc18df320> |
token | <django.template.base.Token object at 0x7f3b1aebc898> |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-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 0x7f3bc60f1ea0> |
nodelist | [] |
parse_until | [] |
self | <django.template.base.Parser object at 0x7f3bc18df320> |
token | <django.template.base.Token object at 0x7f3b1aebc898> |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-packages/django/template/loader_tags.py
, line 270, 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.html"'] |
parent_name | <django.template.base.FilterExpression object at 0x7f3bc18df6a0> |
parser | <django.template.base.Parser object at 0x7f3bc18df320> |
token | <django.template.base.Token object at 0x7f3b1aebc898> |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-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 | 'block' |
compile_func | <function do_block at 0x7f3bc60f1d90> |
compiled_result | <Block Node: pagename. Contents: [<TextNode: 'Syllabus'>]> |
nodelist | [<TextNode: '\n\n'>, <Block Node: title. Contents: [<TextNode: ': Syllabus'>]>, <TextNode: '\n'>, <Block Node: pagename. Contents: [<TextNode: 'Syllabus'>]>, <TextNode: '\n\n'>] |
parse_until | [] |
self | <django.template.base.Parser object at 0x7f3bc18df320> |
token | <django.template.base.Token object at 0x7f3bc4046160> |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-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 | 'block' |
compile_func | <function do_block at 0x7f3bc60f1d90> |
compiled_result | <Block Node: pagename. Contents: [<TextNode: 'Syllabus'>]> |
nodelist | [<TextNode: '\n\n'>, <Block Node: title. Contents: [<TextNode: ': Syllabus'>]>, <TextNode: '\n'>, <Block Node: pagename. Contents: [<TextNode: 'Syllabus'>]>, <TextNode: '\n\n'>] |
parse_until | [] |
self | <django.template.base.Parser object at 0x7f3bc18df320> |
token | <django.template.base.Token object at 0x7f3bc4046160> |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-packages/django/template/loader_tags.py
, line 213, in do_block
# check for duplication.
try:
if block_name in parser.__loaded_blocks:
raise TemplateSyntaxError("'%s' tag with name '%s' appears more than once" % (bits[0], block_name))
parser.__loaded_blocks.append(block_name)
except AttributeError: # parser.__loaded_blocks isn't a list yet
parser.__loaded_blocks = [block_name]
nodelist = parser.parse(('endblock',))…
# This check is kept for backwards-compatibility. See #3100.
endblock = parser.next_token()
acceptable_endblocks = ('endblock', 'endblock %s' % block_name)
if endblock.contents not in acceptable_endblocks:
parser.invalid_block_tag(endblock, 'endblock', acceptable_endblocks)
Variable | Value |
---|---|
bits | ['block', 'content'] |
block_name | 'content' |
parser | <django.template.base.Parser object at 0x7f3bc18df320> |
token | <django.template.base.Token object at 0x7f3bc4046160> |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-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 0x7f3bc6077d08> |
nodelist | [<TextNode: '\t\n\t\t\t\n\t\t\t<div class="body'>] |
parse_until | ('endblock',) |
self | <django.template.base.Parser object at 0x7f3bc18df320> |
token | <django.template.base.Token object at 0x7f3bc415c0f0> |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-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 0x7f3bc6077d08> |
nodelist | [<TextNode: '\t\n\t\t\t\n\t\t\t<div class="body'>] |
parse_until | ('endblock',) |
self | <django.template.base.Parser object at 0x7f3bc18df320> |
token | <django.template.base.Token object at 0x7f3bc415c0f0> |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-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 0x7f3bc18df320> |
token | <django.template.base.Token object at 0x7f3bc415c0f0> |
/home/mdredze/apps/cs475/env/lib64/python3.6/site-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 0x7f3bc18df320> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'upgrade' |
HTTP_FORWARDED_REQUEST_URI | '/fall2014/syllabus/' |
HTTP_HOST | 'www.cs475.org' |
HTTP_HTTPS | 'off' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '52.90.40.84' |
HTTP_X_FORWARDED_HOST | 'www.cs475.org' |
HTTP_X_FORWARDED_PROTO | 'http' |
HTTP_X_FORWARDED_SERVER | 'www.cs475.org' |
HTTP_X_FORWARDED_SSL | 'off' |
PATH_INFO | '/fall2014/syllabus/' |
QUERY_STRING | '' |
REMOTE_ADDR | '127.0.0.1' |
REMOTE_PORT | '55427' |
REQUEST_METHOD | 'GET' |
REQUEST_URI | '/fall2014/syllabus/' |
SCRIPT_NAME | '' |
SERVER_NAME | 'opal1.opalstack.com' |
SERVER_PORT | '16594' |
SERVER_PROTOCOL | 'HTTP/1.1' |
UWSGI_ROUTER | 'http' |
uwsgi.core | 1 |
uwsgi.node | b'opal1.opalstack.com' |
uwsgi.version | b'2.0.19.1' |
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 0x7f3b1af323c0> |
wsgi.multiprocess | True |
wsgi.multithread | True |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
wsgi.version | (1, 0) |
cs475.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | () |
ALLOWED_HOSTS | ['.cs475.org', '.cs475.org.', 'cs475.mdredze.opalstacked.com.', 'cs475.mdredze.opalstacked.com'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': 'unix:/home/mdredze/apps/cs475/memcached.sock', 'TIMEOUT': 86400}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CONSTANCE_BACKEND | 'constance.backends.database.DatabaseBackend' |
CONSTANCE_CONFIG | {'current_course_tag': ('fall2012', 'The current course_tag to use as the default for the ' 'homepage.'), 'google_spreadsheet_file_prefix': ('/home/mdredze/cs475_data/grade_spreadsheets/grade_spreadsheet', 'The file prefix to where the google grade ' 'spreadsheets are stored.'), 'graded_homework_path': ('/home/mdredze/cs475_data/homeworks_graded/', 'The path where graded homeworks are stored.'), 'homework_max_filesize': (10485760, 'The maximum allowable file size (in bytes).'), 'homework_submission_directory': ('/home/mdredze/cs475_data/homeworks/', 'The full path for where to store homework ' 'submissions after they have been ' 'processed.'), 'homework_upload_directory': ('/home/mdredze/cs475_data/uploads/', 'The full path for where to temporarily store ' 'homework uploads, where tests will be ' 'performed.'), 'java_classpath': ('/home/mdredze/cs475_data/lib/commons-cli-1.2.jar', 'The full classpath for compilation (should include the ' 'commons-cli jar).'), 'protected_media_files_directory': ('/home/mdredze/cs475_data/media_protected/', 'The full path to the location to store ' 'homeworks, lectures and handouts. These ' 'will be password protected.')} |
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_psycopg2', 'HOST': '', 'NAME': 'cs475_new', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'mdredze'}} |
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'] |
DB_NAME | 'cs475_new' |
DB_PASSWORD | '********************' |
DB_USERNAME | 'mdredze' |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
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 | 'contact@cs475.org' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'smtp.us.opalstack.com' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'cs475' |
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' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ('django.contrib.auth', 'django.contrib.sites', 'django.contrib.admin', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.admindocs', 'cs475', 'constance', 'constance.backends.database') |
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 | {'disable_existing_loggers': False, 'filters': {'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}}, 'handlers': {'my_log_handler': {'class': 'logging.FileHandler', 'filename': '/home/mdredze/logs/apps/cs475/custom_error_cs475_python3.log', 'level': 'DEBUG'}}, 'loggers': {'django': {'handlers': ['my_log_handler'], 'level': 'DEBUG', 'propagate': True}}, 'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | 'http://www.cs475.org/accounts/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | 'http://www.cs475.org' |
MANAGERS | () |
MEDIA_ROOT | '/home/mdredze/apps/cs475_media/' |
MEDIA_URL | 'http://www.cs475.org/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'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'cs475.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 | 'server@cs475.org' |
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 | 'cs475.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 | () |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder') |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/home/mdredze/apps/cs475_static/' |
STATIC_URL | 'http://www.cs475.org/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/home/mdredze/apps/cs475/cs475_website/html/'], '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.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.core.context_processors.static', 'django.core.context_processors.tz', 'django.contrib.messages.context_processors.messages', 'django.core.context_processors.request') |
TEMPLATE_DEBUG | True |
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 | 'cs475.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.