'media_display_tags' is not a valid tag library: ImportError raised loading apps.common.templatetags.media_display_tags: cannot import name FileType
Request Method: | GET |
---|---|
Request URL: | https://latarnicy.pl/elearning/5/grant/details/28/ |
Django Version: | 1.6.5 |
Exception Type: | TemplateSyntaxError |
Exception Value: | 'media_display_tags' is not a valid tag library: ImportError raised loading apps.common.templatetags.media_display_tags: cannot import name FileType |
Exception Location: | /var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/defaulttags.py in load, line 1084 |
Python Executable: | /usr/bin/uwsgi-core |
Python Version: | 2.7.17 |
Python Path: | ['/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/', '.', '', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/home/tomek/.local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages'] |
Server time: | Pt, 29 Marz 2024 16:01:33 +0100 |
In template /mnt/disk/www/latarnicy.pl/miasta-w-internecie/cities_portal/templates/elearning/course_item.html
, error at line 3
1 | {% extends "base.html" %} |
---|---|
2 | |
3 | {% load i18n media_display_tags %} |
4 | |
5 | |
6 | {% block body_content %} |
7 | <a class="link-back" href="">« wróć</a> |
8 | |
9 | <div class="e-learning-wrapper"> |
10 | <article class="e-learning"> |
11 | <header> |
12 | <time>{{ item.created_at|date:"Y-m-d" }}</time> |
13 |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/core/handlers/base.py
in get_response
raise ValueError("The view %s.%s didn't return an HttpResponse object." % (callback.__module__, view_name))
# If the response supports deferred rendering, apply template
# response middleware and then render the response
if hasattr(response, 'render') and callable(response.render):
for middleware_method in self._template_response_middleware:
response = middleware_method(request, response)
response = response.render()...
except http.Http404 as e:
logger.warning('Not Found: %s', request.path,
extra={
'status_code': 404,
'request': request
Variable | Value |
---|---|
callback_args | () |
resolver_match | ResolverMatch(func=<function CourseItemView at 0x7f4809c1c450>, args=(), kwargs={'item_id': u'28', 'pk': u'5', 'slug': u'grant'}, url_name='course-item', app_name='None', namespace='elearning') |
middleware_method | <bound method DevServerMiddleware.process_view of <devserver.middleware.DevServerMiddleware object at 0x7f480c10a890>> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f48248b6590> |
request | "<WSGIRequest\npath:/elearning/5/grant/details/28/,\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {}>,\nCOOKIES:{},\nMETA:{'CONTENT_LENGTH': '',\n 'CONTENT_TYPE': '',\n u'CSRF_COOKIE': u'lhOo8U7GzBJ9q84WZm9p1WXV4xo5NCos',\n 'DOCUMENT_ROOT': '/usr/share/nginx/html',\n 'HTTPS': 'on',\n 'HTTP_ACCEPT': '*/*',\n 'HTTP_HOST': 'latarnicy.pl',\n 'HTTP_USER_AGENT': 'claudebot',\n 'PATH_INFO': u'/elearning/5/grant/details/28/',\n 'QUERY_STRING': '',\n 'REMOTE_ADDR': '18.232.187.47',\n 'REMOTE_PORT': '44092',\n 'REQUEST_METHOD': 'GET',\n 'REQUEST_SCHEME': 'https',\n 'REQUEST_URI': '/elearning/5/grant/details/28/',\n u'SCRIPT_NAME': u'',\n 'SERVER_NAME': 'latarnicy.pl',\n 'SERVER_PORT': '443',\n 'SERVER_PROTOCOL': 'HTTP/1.1',\n 'uwsgi.node': 'vps711161',\n 'uwsgi.version': '2.0.15-debian',\n 'wsgi.errors': <open file 'wsgi_errors', mode 'w' at 0x7f481d8a6660>,\n 'wsgi.file_wrapper': <built-in function uwsgi_sendfile>,\n 'wsgi.input': <uwsgi._Input object at 0x7f4803206870>,\n 'wsgi.multiprocess': False,\n 'wsgi.multithread': False,\n 'wsgi.run_once': False,\n 'wsgi.url_scheme': 'https',\n 'wsgi.version': (1, 0)}>" |
callback | <function CourseItemView at 0x7f4809c1c450> |
wrapped_callback | <function CourseItemView at 0x7f4809c1c450> |
resolver | <RegexURLResolver 'urls' (None:None) ^/> |
callback_kwargs | {'item_id': u'28', 'pk': u'5', 'slug': u'grant'} |
response | <django.template.response.TemplateResponse object at 0x7f4803589490> |
urlconf | 'urls' |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/response.py
in render
If the content has already been rendered, this is a no-op.
Returns the baked response instance.
"""
retval = self
if not self._is_rendered:
self.content = self.rendered_content...
for post_callback in self._post_render_callbacks:
newretval = post_callback(retval)
if newretval is not None:
retval = newretval
return retval
Variable | Value |
---|---|
self | <django.template.response.TemplateResponse object at 0x7f4803589490> |
retval | <django.template.response.TemplateResponse object at 0x7f4803589490> |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/response.py
in rendered_content
"""Returns the freshly rendered content for the template and context
described by the TemplateResponse.
This *does not* set the final content of the response. To set the
response content, you must either call render(), or set the
content explicitly using the value of this property.
"""
template = self.resolve_template(self.template_name)...
context = self.resolve_context(self.context_data)
content = template.render(context)
return content
def add_post_render_callback(self, callback):
"""Adds a new post-rendering callback.
Variable | Value |
---|---|
self | <django.template.response.TemplateResponse object at 0x7f4803589490> |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/response.py
in resolve_template
del obj_dict[attr]
return obj_dict
def resolve_template(self, template):
"Accepts a template object, path-to-template or list of paths"
if isinstance(template, (list, tuple)):
return loader.select_template(template)...
elif isinstance(template, six.string_types):
return loader.get_template(template)
else:
return template
def resolve_context(self, context):
Variable | Value |
---|---|
self | <django.template.response.TemplateResponse object at 0x7f4803589490> |
template | ['elearning/course_item.html'] |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/loader.py
in select_template
def select_template(template_name_list):
"Given a list of template names, returns the first that can be loaded."
if not template_name_list:
raise TemplateDoesNotExist("No template names provided")
not_found = []
for template_name in template_name_list:
try:
return get_template(template_name)...
except TemplateDoesNotExist as e:
if e.args[0] not in not_found:
not_found.append(e.args[0])
continue
# If we get here, none of the templates could be loaded
raise TemplateDoesNotExist(', '.join(not_found))
Variable | Value |
---|---|
template_name | 'elearning/course_item.html' |
not_found | [] |
template_name_list | ['elearning/course_item.html'] |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/loader.py
in get_template
raise TemplateDoesNotExist(name)
def get_template(template_name):
"""
Returns a compiled Template object for the given template name,
handling template inheritance recursively.
"""
template, origin = find_template(template_name)...
if not hasattr(template, 'render'):
# template needs to be compiled
template = get_template_from_string(template, origin, template_name)
return template
def get_template_from_string(source, origin=None, name=None):
Variable | Value |
---|---|
template_name | 'elearning/course_item.html' |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/loader.py
in find_template
for loader_name in settings.TEMPLATE_LOADERS:
loader = find_template_loader(loader_name)
if loader is not None:
loaders.append(loader)
template_source_loaders = tuple(loaders)
for loader in template_source_loaders:
try:
source, display_name = loader(name, dirs)...
return (source, make_origin(display_name, loader, name, dirs))
except TemplateDoesNotExist:
pass
raise TemplateDoesNotExist(name)
def get_template(template_name):
Variable | Value |
---|---|
dirs | None |
name | 'elearning/course_item.html' |
loader | <django.template.loaders.filesystem.Loader object at 0x7f48098eb950> |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/loader.py
in __call__
class BaseLoader(object):
is_usable = False
def __init__(self, *args, **kwargs):
pass
def __call__(self, template_name, template_dirs=None):
return self.load_template(template_name, template_dirs)...
def load_template(self, template_name, template_dirs=None):
source, display_name = self.load_template_source(template_name, template_dirs)
origin = make_origin(display_name, self.load_template_source, template_name, template_dirs)
try:
template = get_template_from_string(source, origin, template_name)
Variable | Value |
---|---|
template_dirs | None |
template_name | 'elearning/course_item.html' |
self | <django.template.loaders.filesystem.Loader object at 0x7f48098eb950> |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/loader.py
in load_template
def __call__(self, template_name, template_dirs=None):
return self.load_template(template_name, template_dirs)
def load_template(self, template_name, template_dirs=None):
source, display_name = self.load_template_source(template_name, template_dirs)
origin = make_origin(display_name, self.load_template_source, template_name, template_dirs)
try:
template = get_template_from_string(source, origin, template_name)...
return template, None
except TemplateDoesNotExist:
# If compiling the template we found raises TemplateDoesNotExist, back off to
# returning the source and display name for the template we were asked to load.
# This allows for correct identification (later) of the actual template that does
# not exist.
Variable | Value |
---|---|
origin | <django.template.loader.LoaderOrigin object at 0x7f4802b1ad90> |
template_dirs | None |
display_name | u'/mnt/disk/www/latarnicy.pl/miasta-w-internecie/cities_portal/templates/elearning/course_item.html' |
template_name | 'elearning/course_item.html' |
self | <django.template.loaders.filesystem.Loader object at 0x7f48098eb950> |
source | u'{% extends "base.html" %}\n\n{% load i18n media_display_tags %}\n\n\n{% block body_content %}\n <a class="link-back" href="">« wr\xf3\u0107</a>\n\n <div class="e-learning-wrapper">\n <article class="e-learning">\n <header>\n <time>{{ item.created_at|date:"Y-m-d" }}</time>\n\n <h3>\n <a href="{{ course.get_absolute_url }}">\n Kurs {{ course.title }}\n </a>\n {% if item.scrom_title %}\n - {{ item.scrom_title }}\n {% else %}\n {% if not item.is_scrom_file %}\n - {{ item.file.label }}\n {% else %}\n Bez tytu\u0142u\n {% endif %}\n {% endif %}\n </h3>\n </header>\n <p>\n {% if item.is_scrom_file %}\n <iframe style=\'width:100%;height:550px;border:none;\' src="{{ item.get_scrom_url }}"></iframe>\n {% else %}\n {% show_media item.file thumbnail=item.get_thumbnail %}\n {% endif %}\n </p>\n <p class="elearning-single-text">\n {{ item.description|safe }}\n </p>\n <div class="pagination-wrapper">\n <ul class="pager">\n {% if prev_element_url %} \n <li class="previous"><a href="{{ prev_element_url }}">« poprzedni modu\u0142</a></li>\n {% endif %}\n {% if next_element_url %} \n <li class="next"><a href="{{ next_element_url }}">kolejny modu\u0142 »</a></li>\n {% endif %}\n </ul>\n {# <button class="btn-got-it disabled"> #}\n {# Zapozna\u0142em si\u0119 z tre\u015bci\u0105 <span class="ico-elearning"></span> #}\n {# </button> #}\n </div> <!-- /.pagination-wrapper -->\n </article> <!-- /.relation -->\n {% include "elearning/_course_table_of_contents.html" with files=course.files.all set_id=course.pk set_slug=course.slug %}\n </div> <!-- /.relation-wrapper -->\n{% endblock %}\n' |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/loader.py
in get_template_from_string
return template
def get_template_from_string(source, origin=None, name=None):
"""
Returns a compiled Template object for the given template code,
handling template inheritance recursively.
"""
return Template(source, origin, name)...
def render_to_string(template_name, dictionary=None, context_instance=None):
"""
Loads the given template_name and renders it with the given dictionary as
context. The template_name may be a string to load a single template using
get_template, or it may be a tuple to use select_template to find one of
Variable | Value |
---|---|
origin | <django.template.loader.LoaderOrigin object at 0x7f4802b1ad90> |
source | u'{% extends "base.html" %}\n\n{% load i18n media_display_tags %}\n\n\n{% block body_content %}\n <a class="link-back" href="">« wr\xf3\u0107</a>\n\n <div class="e-learning-wrapper">\n <article class="e-learning">\n <header>\n <time>{{ item.created_at|date:"Y-m-d" }}</time>\n\n <h3>\n <a href="{{ course.get_absolute_url }}">\n Kurs {{ course.title }}\n </a>\n {% if item.scrom_title %}\n - {{ item.scrom_title }}\n {% else %}\n {% if not item.is_scrom_file %}\n - {{ item.file.label }}\n {% else %}\n Bez tytu\u0142u\n {% endif %}\n {% endif %}\n </h3>\n </header>\n <p>\n {% if item.is_scrom_file %}\n <iframe style=\'width:100%;height:550px;border:none;\' src="{{ item.get_scrom_url }}"></iframe>\n {% else %}\n {% show_media item.file thumbnail=item.get_thumbnail %}\n {% endif %}\n </p>\n <p class="elearning-single-text">\n {{ item.description|safe }}\n </p>\n <div class="pagination-wrapper">\n <ul class="pager">\n {% if prev_element_url %} \n <li class="previous"><a href="{{ prev_element_url }}">« poprzedni modu\u0142</a></li>\n {% endif %}\n {% if next_element_url %} \n <li class="next"><a href="{{ next_element_url }}">kolejny modu\u0142 »</a></li>\n {% endif %}\n </ul>\n {# <button class="btn-got-it disabled"> #}\n {# Zapozna\u0142em si\u0119 z tre\u015bci\u0105 <span class="ico-elearning"></span> #}\n {# </button> #}\n </div> <!-- /.pagination-wrapper -->\n </article> <!-- /.relation -->\n {% include "elearning/_course_table_of_contents.html" with files=course.files.all set_id=course.pk set_slug=course.slug %}\n </div> <!-- /.relation-wrapper -->\n{% endblock %}\n' |
name | 'elearning/course_item.html' |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/base.py
in __init__
try:
template_string = force_text(template_string)
except UnicodeDecodeError:
raise TemplateEncodingError("Templates can only be constructed "
"from unicode or UTF-8 strings.")
if settings.TEMPLATE_DEBUG and origin is None:
origin = StringOrigin(template_string)
self.nodelist = compile_string(template_string, origin)...
self.name = name
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
Variable | Value |
---|---|
origin | <django.template.loader.LoaderOrigin object at 0x7f4802b1ad90> |
template_string | u'{% extends "base.html" %}\n\n{% load i18n media_display_tags %}\n\n\n{% block body_content %}\n <a class="link-back" href="">« wr\xf3\u0107</a>\n\n <div class="e-learning-wrapper">\n <article class="e-learning">\n <header>\n <time>{{ item.created_at|date:"Y-m-d" }}</time>\n\n <h3>\n <a href="{{ course.get_absolute_url }}">\n Kurs {{ course.title }}\n </a>\n {% if item.scrom_title %}\n - {{ item.scrom_title }}\n {% else %}\n {% if not item.is_scrom_file %}\n - {{ item.file.label }}\n {% else %}\n Bez tytu\u0142u\n {% endif %}\n {% endif %}\n </h3>\n </header>\n <p>\n {% if item.is_scrom_file %}\n <iframe style=\'width:100%;height:550px;border:none;\' src="{{ item.get_scrom_url }}"></iframe>\n {% else %}\n {% show_media item.file thumbnail=item.get_thumbnail %}\n {% endif %}\n </p>\n <p class="elearning-single-text">\n {{ item.description|safe }}\n </p>\n <div class="pagination-wrapper">\n <ul class="pager">\n {% if prev_element_url %} \n <li class="previous"><a href="{{ prev_element_url }}">« poprzedni modu\u0142</a></li>\n {% endif %}\n {% if next_element_url %} \n <li class="next"><a href="{{ next_element_url }}">kolejny modu\u0142 »</a></li>\n {% endif %}\n </ul>\n {# <button class="btn-got-it disabled"> #}\n {# Zapozna\u0142em si\u0119 z tre\u015bci\u0105 <span class="ico-elearning"></span> #}\n {# </button> #}\n </div> <!-- /.pagination-wrapper -->\n </article> <!-- /.relation -->\n {% include "elearning/_course_table_of_contents.html" with files=course.files.all set_id=course.pk set_slug=course.slug %}\n </div> <!-- /.relation-wrapper -->\n{% endblock %}\n' |
self | <django.template.base.Template object at 0x7f4802b1add0> |
name | 'elearning/course_item.html' |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/base.py
in compile_string
if settings.TEMPLATE_DEBUG:
from django.template.debug import DebugLexer, DebugParser
lexer_class, parser_class = DebugLexer, DebugParser
else:
lexer_class, parser_class = Lexer, Parser
lexer = lexer_class(template_string, origin)
parser = parser_class(lexer.tokenize())
return parser.parse()...
class Token(object):
def __init__(self, token_type, contents):
# token_type must be TOKEN_TEXT, TOKEN_VAR, TOKEN_BLOCK or
# TOKEN_COMMENT.
self.token_type, self.contents = token_type, contents
Variable | Value |
---|---|
lexer_class | <class 'django.template.debug.DebugLexer'> |
origin | <django.template.loader.LoaderOrigin object at 0x7f4802b1ad90> |
DebugLexer | <class 'django.template.debug.DebugLexer'> |
lexer | <django.template.debug.DebugLexer object at 0x7f4802b1a8d0> |
parser | <django.template.debug.DebugParser object at 0x7f4802a77e10> |
template_string | u'{% extends "base.html" %}\n\n{% load i18n media_display_tags %}\n\n\n{% block body_content %}\n <a class="link-back" href="">« wr\xf3\u0107</a>\n\n <div class="e-learning-wrapper">\n <article class="e-learning">\n <header>\n <time>{{ item.created_at|date:"Y-m-d" }}</time>\n\n <h3>\n <a href="{{ course.get_absolute_url }}">\n Kurs {{ course.title }}\n </a>\n {% if item.scrom_title %}\n - {{ item.scrom_title }}\n {% else %}\n {% if not item.is_scrom_file %}\n - {{ item.file.label }}\n {% else %}\n Bez tytu\u0142u\n {% endif %}\n {% endif %}\n </h3>\n </header>\n <p>\n {% if item.is_scrom_file %}\n <iframe style=\'width:100%;height:550px;border:none;\' src="{{ item.get_scrom_url }}"></iframe>\n {% else %}\n {% show_media item.file thumbnail=item.get_thumbnail %}\n {% endif %}\n </p>\n <p class="elearning-single-text">\n {{ item.description|safe }}\n </p>\n <div class="pagination-wrapper">\n <ul class="pager">\n {% if prev_element_url %} \n <li class="previous"><a href="{{ prev_element_url }}">« poprzedni modu\u0142</a></li>\n {% endif %}\n {% if next_element_url %} \n <li class="next"><a href="{{ next_element_url }}">kolejny modu\u0142 »</a></li>\n {% endif %}\n </ul>\n {# <button class="btn-got-it disabled"> #}\n {# Zapozna\u0142em si\u0119 z tre\u015bci\u0105 <span class="ico-elearning"></span> #}\n {# </button> #}\n </div> <!-- /.pagination-wrapper -->\n </article> <!-- /.relation -->\n {% include "elearning/_course_table_of_contents.html" with files=course.files.all set_id=course.pk set_slug=course.slug %}\n </div> <!-- /.relation-wrapper -->\n{% endblock %}\n' |
DebugParser | <class 'django.template.debug.DebugParser'> |
parser_class | <class 'django.template.debug.DebugParser'> |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/base.py
in parse
# resulting node
self.enter_command(command, token)
try:
compile_func = self.tags[command]
except KeyError:
self.invalid_block_tag(token, command, parse_until)
try:
compiled_result = compile_func(self, token)...
except TemplateSyntaxError as e:
if not self.compile_function_error(token, e):
raise
self.extend_nodelist(nodelist, compiled_result, token)
self.exit_command()
if parse_until:
Variable | Value |
---|---|
nodelist | [] |
compile_func | <function do_extends at 0x7f481c7ea550> |
self | <django.template.debug.DebugParser object at 0x7f4802a77e10> |
token | <django.template.base.Token object at 0x7f4802b1a390> |
parse_until | [] |
command | u'extends' |
e | TemplateSyntaxError(u"'media_display_tags' is not a valid tag library: ImportError raised loading apps.common.templatetags.media_display_tags: cannot import name FileType",) |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/loader_tags.py
in do_extends
name of the parent template to extend (if it evaluates to a string) or as
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])
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')
def do_include(parser, token):
Variable | Value |
---|---|
parent_name | <django.template.base.FilterExpression object at 0x7f4802a776d0> |
token | <django.template.base.Token object at 0x7f4802b1a390> |
parser | <django.template.debug.DebugParser object at 0x7f4802a77e10> |
bits | [u'extends', u'"base.html"'] |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/base.py
in parse
# resulting node
self.enter_command(command, token)
try:
compile_func = self.tags[command]
except KeyError:
self.invalid_block_tag(token, command, parse_until)
try:
compiled_result = compile_func(self, token)...
except TemplateSyntaxError as e:
if not self.compile_function_error(token, e):
raise
self.extend_nodelist(nodelist, compiled_result, token)
self.exit_command()
if parse_until:
Variable | Value |
---|---|
nodelist | [<Text Node: ' '>] |
compile_func | <function load at 0x7f481d79c850> |
self | <django.template.debug.DebugParser object at 0x7f4802a77e10> |
token | <django.template.base.Token object at 0x7f4802b1a4d0> |
parse_until | [] |
command | u'load' |
e | TemplateSyntaxError(u"'media_display_tags' is not a valid tag library: ImportError raised loading apps.common.templatetags.media_display_tags: cannot import name FileType",) |
/var/www/disk/latarnicy.pl/miasta-w-internecie/venv/lib/python2.7/site-packages/django/template/defaulttags.py
in load
for taglib in bits[1:]:
# add the library to the parser
try:
lib = get_library(taglib)
parser.add_library(lib)
except InvalidTemplateLibrary as e:
raise TemplateSyntaxError("'%s' is not a valid tag library: %s" %
(taglib, e))...
return LoadNode()
@register.tag
def now(parser, token):
"""
Displays the date, formatted according to the given string.
Variable | Value |
---|---|
e | InvalidTemplateLibrary(u'ImportError raised loading apps.common.templatetags.media_display_tags: cannot import name FileType',) |
lib | <django.template.base.Library object at 0x7f48004a6f90> |
parser | <django.template.debug.DebugParser object at 0x7f4802a77e10> |
token | <django.template.base.Token object at 0x7f4802b1a4d0> |
taglib | u'media_display_tags' |
bits | [u'load', u'i18n', u'media_display_tags'] |
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
wsgi.multiprocess | False |
SCRIPT_NAME | u'' |
REQUEST_METHOD | 'GET' |
PATH_INFO | u'/elearning/5/grant/details/28/' |
SERVER_PROTOCOL | 'HTTP/1.1' |
QUERY_STRING | '' |
CONTENT_LENGTH | '' |
HTTP_USER_AGENT | 'claudebot' |
SERVER_NAME | 'latarnicy.pl' |
REMOTE_ADDR | '18.232.187.47' |
wsgi.url_scheme | 'https' |
SERVER_PORT | '443' |
uwsgi.node | 'vps711161' |
DOCUMENT_ROOT | '/usr/share/nginx/html' |
wsgi.input | <uwsgi._Input object at 0x7f4803206870> |
HTTP_HOST | 'latarnicy.pl' |
HTTPS | 'on' |
wsgi.multithread | False |
REQUEST_URI | '/elearning/5/grant/details/28/' |
HTTP_ACCEPT | '*/*' |
wsgi.version | (1, 0) |
wsgi.run_once | False |
wsgi.errors | <open file 'wsgi_errors', mode 'w' at 0x7f481d8a6660> |
REMOTE_PORT | '44092' |
REQUEST_SCHEME | 'https' |
uwsgi.version | '2.0.15-debian' |
CONTENT_TYPE | '' |
wsgi.file_wrapper | '' |
CSRF_COOKIE | u'lhOo8U7GzBJ9q84WZm9p1WXV4xo5NCos' |
settings
Setting | Value |
---|---|
COMPRESS_URL | '/static/' |
TESTING | True |
COMPRESS_OUTPUT_DIR | u'CACHE' |
COMPRESS_TEMPLATE_FILTER_CONTEXT | {u'STATIC_URL': '/static/'} |
USE_L10N | True |
THUMBNAIL_PROCESSORS | ('image_cropping.thumbnail_processors.crop_corners', 'easy_thumbnails.processors.colorspace', 'easy_thumbnails.processors.autocrop', 'easy_thumbnails.processors.scale_and_crop', 'easy_thumbnails.processors.filters') |
COMPRESS_DATA_URI_MAX_SIZE | 1024 |
CSRF_COOKIE_SECURE | False |
LANGUAGE_CODE | 'pl' |
ROOT_URLCONF | 'urls' |
MANAGERS | (('Laboratorium EE', 'kontakt@laboratorium.ee'),) |
BROKER_URL | 'redis://localhost:6379/1' |
COMPRESS_CSS_HASHING_METHOD | u'mtime' |
DEFAULT_CHARSET | 'utf-8' |
IGNORABLE_404_URLS | () |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
STATIC_ROOT | './static_collected' |
COMPRESS_CLOSURE_COMPILER_ARGUMENTS | u'' |
USE_THOUSAND_SEPARATOR | False |
RECAPTCHA_PUBLIC_KEY | u'********************' |
COMPRESS_OFFLINE_MANIFEST | u'manifest.json' |
ITCUBE_HOST | 'crm.mwi.pl' |
ALLOWED_HOSTS | ('latarnicy.pl',) |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
RECAPTCHA_PRIVATE_KEY | u'********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
SEND_BROKEN_LINK_EMAILS | False |
JCROP_IMAGE_WIDGET_DIMENSIONS | '940x940' |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder') |
SESSION_CACHE_ALIAS | 'default' |
COMPRESS_CSSTIDY_ARGUMENTS | u'--template=highest' |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_NAME | 'sessionid' |
COMPRESS_YUGLIFY_JS_ARGUMENTS | u'--terminal' |
PACKAGE_NAME_GRAPPELLI | 'grappelli_safe' |
ADMIN_FOR | () |
TIME_INPUT_FORMATS | ('%H:%M:%S', '%H:%M:%S.%f', '%H:%M') |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.contrib.gis.db.backends.postgis', 'HOST': '', 'NAME': 'latarnicy-prod', 'OPTIONS': {}, 'PASSWORD': u'********************', 'PORT': '', 'TEST_CHARSET': None, 'TEST_COLLATION': None, 'TEST_MIRROR': None, 'TEST_NAME': None, 'TIME_ZONE': 'UTC', 'USER': 'tomek'}} |
COMPRESS_YUI_BINARY | u'java -jar yuicompressor.jar' |
FILE_UPLOAD_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ('django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler') |
ITCUBE_PASS | u'********************' |
DEFAULT_CONTENT_TYPE | 'text/html' |
COMPRESS_CSS_COMPRESSOR | u'compressor.css.CssCompressor' |
APPEND_SLASH | True |
FIRST_DAY_OF_WEEK | 0 |
DATABASE_ROUTERS | [] |
YEAR_MONTH_FORMAT | 'F Y' |
COMPRESS_OFFLINE_TIMEOUT | 31536000 |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '127.0.0.1:11211'}} |
SERVER_EMAIL | 'no-reply@latarnicy.pl' |
SESSION_COOKIE_PATH | '/' |
COMPRESS_PARSER | u'compressor.parser.AutoSelectParser' |
COMPRESS_CACHE_BACKEND | u'default' |
MIDDLEWARE_CLASSES | ('django.middleware.gzip.GZipMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.middleware.common.CommonMiddleware', 'apps.common.middleware.ProfileCheck', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'apps.common.middleware.CommentAdded', 'devserver.middleware.DevServerMiddleware', 'apps.profiles.middleware.AutoProfileMiddleware') |
USE_I18N | True |
THOUSAND_SEPARATOR | ',' |
SECRET_KEY | u'********************' |
LANGUAGE_COOKIE_NAME | 'django_language' |
PLACEHOLDER_IMAGE | 'placeholders/placeholder.png' |
DEFAULT_INDEX_TABLESPACE | '' |
TRANSACTIONS_MANAGED | False |
LOGGING_CONFIG | 'django.utils.log.dictConfig' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
TEMPLATE_LOADERS | ('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader') |
WSGI_APPLICATION | 'wsgi.application' |
TEMPLATE_DEBUG | True |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
CSRF_COOKIE_NAME | 'csrftoken' |
HAYSTACK_CONNECTIONS | {'default': {'ENGINE': 'haystack.backends.simple_backend.SimpleEngine'}} |
FORCE_SCRIPT_NAME | None |
USE_X_FORWARDED_HOST | False |
COMPRESS_CSSTIDY_BINARY | u'csstidy' |
SESSION_COOKIE_SECURE | False |
COMPRESS_DEBUG_TOGGLE | None |
COMPRESS_VERBOSE | False |
CSRF_COOKIE_DOMAIN | None |
FILE_CHARSET | 'utf-8' |
DEBUG | True |
COMMENTS_APP | 'apps.custom_comments' |
SESSION_FILE_PATH | None |
COMPRESS_JS_FILTERS | [u'compressor.filters.jsmin.JSMinFilter'] |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
INSTALLED_APPS | ('django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.gis', 'django.contrib.comments', 'django.contrib.webdesign', 'haystack', 'feincms', 'feincms.module.page', 'feincms.module.medialibrary', 'gallery', 'elephantblog', 'widget_tweaks', 'djcelery', 'kombu.transport.django', 'compressor', 'south', 'django_extensions', 'pybb', 'pytils', 'sorl.thumbnail', 'pure_pagination', 'captcha', 'mptt', 'easy_thumbnails', 'filer', 'pennyblack', 'pennyblack.module.subscriber', 'apps.knowledge_base', 'apps.common', 'apps.map', 'apps.calendar', 'apps.cms', 'apps.newsletter', 'apps.blog', 'apps.elearning', 'apps.feed', 'apps.profiles', 'apps.polls', 'apps.custom_comments', 'apps.search', 'apps.user_polls', 'pretty_times', 'django_jcrop', 'image_cropping', 'reversetag') |
LANGUAGES_BIDI | ('he', 'ar', 'fa', 'ur') |
COMMENTS_ALLOW_PROFANITIES | False |
COMPRESS_YUI_CSS_ARGUMENTS | u'' |
STATICFILES_DIRS | ('./static/',) |
PREPEND_WWW | False |
SECURE_PROXY_SSL_HEADER | None |
PASSWORD_RESET_TIMEOUT_DAYS | u'********************' |
SESSION_COOKIE_HTTPONLY | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
ISSUE_KEY_SECRET | u'********************' |
MONTH_DAY_FORMAT | 'F j' |
LOGIN_URL | '/profiles/login' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | True |
TIME_FORMAT | 'P' |
GEOIP_PATH | '/mnt/disk/www/latarnicy.pl/miasta-w-internecie/cities_portal/geo_ip_data' |
COMPRESS_STORAGE | u'compressor.storage.CompressorFileStorage' |
FILER_DEBUG | True |
AUTH_USER_MODEL | 'auth.User' |
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') |
COMPRESS_CSS_FILTERS | [u'compressor.filters.css_default.CssAbsoluteFilter'] |
AUTHENTICATION_BACKENDS | ('auth.LoginBackend',) |
EMAIL_HOST_PASSWORD | u'********************' |
COMPRESS_REBUILD_TIMEOUT | 2592000 |
PACKAGE_NAME_FILEBROWSER | 'filebrowser_safe' |
AUTH_PROFILE_MODULE | 'profiles.UserProfile' |
CACHE_MIDDLEWARE_ALIAS | 'default' |
SESSION_SAVE_EVERY_REQUEST | False |
ADMIN_MEDIA_PREFIX | '/static//admin/' |
NUMBER_GROUPING | 0 |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
COMPRESS_YUGLIFY_BINARY | u'yuglify' |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_COOKIE_PATH | '/' |
COMPRESS_CACHE_KEY_FUNCTION | u'********************' |
LOGIN_REDIRECT_URL | '/' |
PROJECT_ROOT | '/mnt/disk/www/latarnicy.pl/miasta-w-internecie/cities_portal' |
DECIMAL_SEPARATOR | '.' |
COMPRESS_PRECOMPILERS | (('text/coffeescript', 'coffee --compile --stdio'), ('text/less', 'lessc --include-path="/mnt/disk/www/latarnicy.pl/miasta-w-internecie/cities_portal/static/less" {infile} {outfile}'), ('text/x-sass', 'sass {infile} {outfile}'), ('text/x-scss', 'sass --scss {infile} {outfile}')) |
COMPRESS_MTIME_DELAY | 10 |
SITE_ID | 1 |
LOCALE_PATHS | () |
TEMPLATE_STRING_IF_INVALID | '' |
LOGOUT_URL | '/accounts/logout/' |
EMAIL_USE_TLS | False |
TEMPLATE_DIRS | ('./templates',) |
FIXTURE_DIRS | () |
EMAIL_HOST | '127.0.0.1' |
ISSUU_KEY | u'********************' |
DATE_FORMAT | 'N j, Y' |
OPTIONAL_APPS | ('debug_toolbar', 'filebrowser_safe', 'grappelli_safe') |
MEDIA_ROOT | './media/' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
ADMINS | (('Laboratorium EE', 'kontakt@laboratorium.ee'),) |
FORMAT_MODULE_PATH | None |
DEFAULT_FROM_EMAIL | 'no-reply@latarnicy.pl' |
COMPRESS_ROOT | '/mnt/disk/www/latarnicy.pl/miasta-w-internecie/cities_portal/static_collected' |
MEDIA_URL | '/media/' |
DATETIME_FORMAT | 'N j, Y, P' |
COMPRESS_YUI_JS_ARGUMENTS | u'' |
COMPRESS_JS_COMPRESSOR | u'compressor.js.JsCompressor' |
DISALLOWED_USER_AGENTS | () |
ALLOWED_INCLUDE_ROOTS | () |
DEFAULT_FILE_THUMBNAIL_VERTICAL | '/static/images/core/default_vertical.png' |
SOUTH_MIGRATION_MODULES | {'easy_thumbnails': 'easy_thumbnails.south_migrations'} |
CELERY_TIMEZONE | 'Europe/Warsaw' |
COMPRESS_MINT_DELAY | 30 |
LOGGING | {'disable_existing_loggers': False, 'handlers': {'console': {'class': 'logging.StreamHandler', 'level': 'DEBUG'}}, 'loggers': {'': {'handlers': ['console'], 'level': 'ERROR', 'propagate': False}}, 'version': 1} |
SHORT_DATE_FORMAT | 'm/d/Y' |
ITCUBE_USER | 'icsolutions' |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
COMPRESS_ENABLED | False |
CACHE_MIDDLEWARE_KEY_PREFIX | u'********************' |
COMPRESS_OFFLINE | False |
TIME_ZONE | 'Europe/Warsaw' |
PYBB_ATTACHMENT_ENABLE | True |
COMPRESS_OFFLINE_CONTEXT | {u'STATIC_URL': '/static/'} |
COMPRESS_YUGLIFY_CSS_ARGUMENTS | u'--terminal' |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
COMPRESS_JINJA2_GET_ENVIRONMENT | None |
POSTGIS_VERSION | (1, 5, 3) |
DEFAULT_TABLESPACE | '' |
TEMPLATE_CONTEXT_PROCESSORS | ('django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.static', 'django.core.context_processors.media', 'django.core.context_processors.request', 'django.core.context_processors.tz', 'pybb.context_processors.processor', 'apps.common.contextProcessors.main', 'apps.common.contextProcessors.query_without_page', 'apps.cms.context_processors.pages', 'feincms.context_processors.add_page_if_missing') |
SESSION_COOKIE_AGE | 1209600 |
SETTINGS_MODULE | 'settings' |
USE_ETAGS | False |
LANGUAGES | (('af', 'Afrikaans'), ('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')) |
HAYSTACK_SIGNAL_PROCESSOR | 'haystack.signals.RealtimeSignalProcessor' |
COMPRESS_CLOSURE_COMPILER_BINARY | u'java -jar compiler.jar' |
FILE_UPLOAD_TEMP_DIR | None |
INTERNAL_IPS | () |
STATIC_URL | '/static/' |
EMAIL_PORT | 25 |
USE_TZ | True |
FEINCMS_RICHTEXT_INIT_CONTEXT | {'TINYMCE_JS_URL': '/static/js/vendor/tiny_mce/tiny_mce.js'} |
CELERY_RESULT_BACKEND | 'database' |
PASSWORD_HASHERS | u'********************' |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
ABSOLUTE_URL_OVERRIDES | {} |
CACHE_MIDDLEWARE_SECONDS | 600 |
DEFAULT_FILE_THUMBNAIL_HORIZONTAL | '/static/images/core/default.png' |
CSRF_COOKIE_HTTPONLY | False |
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') |
EMAIL_HOST_USER | '' |
PROFANITIES_LIST | u'********************' |
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 500 page.