Invalid block tag on line 130: 'endblock', expected 'elif', 'else' or 'endif'. Did you forget to register or load this tag?
Request Method: | GET |
---|---|
Request URL: | https://falconebianco.ru/poshiv/tkani/cerruti/ |
Django Version: | 2.1.4 |
Exception Type: | TemplateSyntaxError |
Exception Value: | Invalid block tag on line 130: 'endblock', expected 'elif', 'else' or 'endif'. Did you forget to register or load this tag? |
Exception Location: | /srv/falcone/env/lib/python3.6/site-packages/django/template/base.py in invalid_block_tag, line 528 |
Python Executable: | /srv/falcone/env/bin/python3 |
Python Version: | 3.6.7 |
Python Path: | ['/srv/falcone', '/srv/falcone/apps', '/srv/falcone/env/bin', '/srv/falcone/env/lib/python36.zip', '/srv/falcone/env/lib/python3.6', '/srv/falcone/env/lib/python3.6/lib-dynload', '/usr/lib/python3.6', '/srv/falcone/env/lib/python3.6/site-packages'] |
Server time: | Чт, 28 Мар 2024 14:49:28 +0300 |
In template /srv/falcone/apps/sewing/templates/sewing/textile_detail.html
, error at line 130
120 | </div> |
---|---|
121 | </div> |
122 | <a href="/category-suits.html" class="button button--cognac animation js-show-products"> |
123 | Показать все |
124 | </a> --> |
125 | </div> |
126 | </div> |
127 | </div> |
128 | <div class="main__dots main__dots--down"></div> |
129 | </div> |
130 | {% endblock %} |
/srv/falcone/env/lib/python3.6/site-packages/django/template/base.py
in parse
# Add the token to the command stack. This is used for error
# messages if further parsing fails due to an unclosed block
# tag.
self.command_stack.append((command, token))
# Get the tag callback function from the ones registered with
# the parser.
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)
Variable | Value |
---|---|
command | 'endblock' |
compile_func | <function do_for at 0x7f98c8923d08> |
compiled_result | <ForNode: for product in products, tail_len: 3> |
nodelist | [<TextNode: '\n </div>\n <'>, <ForNode: for product in products_for_slider, tail_len: 15>, <TextNode: '\n </div>\n '>, <ForNode: for product in products, tail_len: 3>, <TextNode: ' \n </div>\n '>] |
parse_until | ('elif', 'else', 'endif') |
self | <django.template.base.Parser object at 0x7f98c4368940> |
token | <django.template.base.Token object at 0x7f98c3433400> |
/srv/falcone/env/lib/python3.6/site-packages/django/core/handlers/exception.py
in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response)
def inner(request):
try:
response = get_response(request)...
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | TemplateSyntaxError("Invalid block tag on line 130: 'endblock', expected 'elif', 'else' or 'endif'. Did you forget to register or load this tag?",) |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f98c6748978>> |
request | <WSGIRequest: GET '/poshiv/tkani/cerruti/'> |
/srv/falcone/env/lib/python3.6/site-packages/django/core/handlers/base.py
in _get_response
"HttpResponse object. It returned None instead."
% (middleware_method.__self__.__class__.__name__)
)
try:
response = response.render()
except Exception as e:
response = self.process_exception_by_middleware(e, request)...
return response
def process_exception_by_middleware(self, exception, request):
"""
Pass the exception to the exception middleware. If no middleware
Variable | Value |
---|---|
callback | <function TextileView at 0x7f98c47879d8> |
callback_args | () |
callback_kwargs | {'textile': 'cerruti'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f98c661fa90>> |
request | <WSGIRequest: GET '/poshiv/tkani/cerruti/'> |
resolver | <URLResolver 'settings.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=sewing.views.TextileView, args=(), kwargs={'textile': 'cerruti'}, url_name=textile_list, app_names=['sewing'], namespaces=['sewing']) |
response | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f98c6748978> |
wrapped_callback | <function TextileView at 0x7f98c47879d8> |
/srv/falcone/env/lib/python3.6/site-packages/django/core/handlers/base.py
in _get_response
raise ValueError(
"%s.process_template_response didn't return an "
"HttpResponse object. It returned None instead."
% (middleware_method.__self__.__class__.__name__)
)
try:
response = response.render()...
except Exception as e:
response = self.process_exception_by_middleware(e, request)
return response
def process_exception_by_middleware(self, exception, request):
Variable | Value |
---|---|
callback | <function TextileView at 0x7f98c47879d8> |
callback_args | () |
callback_kwargs | {'textile': 'cerruti'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f98c661fa90>> |
request | <WSGIRequest: GET '/poshiv/tkani/cerruti/'> |
resolver | <URLResolver 'settings.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=sewing.views.TextileView, args=(), kwargs={'textile': 'cerruti'}, url_name=textile_list, app_names=['sewing'], namespaces=['sewing']) |
response | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f98c6748978> |
wrapped_callback | <function TextileView at 0x7f98c47879d8> |
/srv/falcone/env/lib/python3.6/site-packages/django/template/response.py
in render
If the content has already been rendered, this is a no-op.
Return 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 |
---|---|
retval | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
/srv/falcone/env/lib/python3.6/site-packages/django/template/response.py
in rendered_content
"""Return 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, self._request)
return content
def add_post_render_callback(self, callback):
"""Add a new post-rendering callback.
Variable | Value |
---|---|
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
/srv/falcone/env/lib/python3.6/site-packages/django/template/response.py
in resolve_template
del obj_dict[attr]
return obj_dict
def resolve_template(self, template):
"""Accept a template object, path-to-template, or list of paths."""
if isinstance(template, (list, tuple)):
return select_template(template, using=self.using)...
elif isinstance(template, str):
return get_template(template, using=self.using)
else:
return template
def resolve_context(self, context):
Variable | Value |
---|---|
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
template | ['sewing/textile_detail.html'] |
/srv/falcone/env/lib/python3.6/site-packages/django/template/loader.py
in select_template
)
chain = []
engines = _engine_list(using)
for template_name in template_name_list:
for engine in engines:
try:
return engine.get_template(template_name)...
except TemplateDoesNotExist as e:
chain.append(e)
if template_name_list:
raise TemplateDoesNotExist(', '.join(template_name_list), chain=chain)
else:
Variable | Value |
---|---|
chain | [] |
engine | <django.template.backends.django.DjangoTemplates object at 0x7f98c478f400> |
engines | [<django.template.backends.django.DjangoTemplates object at 0x7f98c478f400>] |
template_name | 'sewing/textile_detail.html' |
template_name_list | ['sewing/textile_detail.html'] |
using | None |
/srv/falcone/env/lib/python3.6/site-packages/django/template/backends/django.py
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 0x7f98c478f400> |
template_name | 'sewing/textile_detail.html' |
/srv/falcone/env/lib/python3.6/site-packages/django/template/engine.py
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 0x7f98c474af60> |
template_name | 'sewing/textile_detail.html' |
/srv/falcone/env/lib/python3.6/site-packages/django/template/engine.py
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.app_directories.Loader object at 0x7f98c4508cf8> |
name | 'sewing/textile_detail.html' |
self | <django.template.engine.Engine object at 0x7f98c474af60> |
skip | None |
tried | [(<django.template.base.Origin object at 0x7f98c4368358>, 'Source does not exist')] |
/srv/falcone/env/lib/python3.6/site-packages/django/template/loaders/base.py
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" '{% load common_tags static %}\n' '\n' '{% block pageseo %}\n' ' {% pageseo object object.title %}\n' '{% endblock %}\n' '\n' '{% block content %} \n' '<div class="main__section about-video">\n' ' <div class="layout layout--narrow">\n' ' <img src="{{ object.logo.url }}" alt="Holland & Sherry" ' 'class="about-video__main-picture">\n' ' <div class="about-video__description ' 'about-video__description--fabric show-more js-show-more">\n' ' {% if object.history %}\n' ' <div class="show-more__text animation">\n' ' {{ object.history|safe }}\n' ' <div class="show-more__shadow animation"></div>\n' ' </div>\n' ' <div class="show-more__button">\n' ' <div class="link show-more__button-text animation ' 'js-show-more-button">\n' ' Подробнее\n' ' </div>\n' ' </div>\n' ' {% endif %}\n' ' </div>\n' ' <div class="about-video__wrap about-video__wrap--zero-margin">\n' ' <video preload="auto" loop="true" autoplay="true" muted ' 'class="about-video__video">\n' ' <source ' 'src="https://ak.picdn.net/footage/assets/directors_choice/December-Picks-stock-videos.webm" ' 'type="video/webm">\n' ' <source ' 'src="https://ak.picdn.net/footage/assets/directors_choice/December-Picks-stock-videos.mp4" ' 'type="video/mp4">\n' ' </video>\n' ' <div class="about-video__overlay"></div>\n' ' <span class="icon icon--play play-video animation js-play-video" ' 'data-id="JOWOScffB1I"></span>\n' ' </div>\n' ' </div>\n' '</div>\n' '\n' '<div class="main__section made-textile">\n' ' <div class="layout">\n' ' <div class="main__subtitle h1">\n' ' Сшито из ткани {% if object.short_title|safe %}\n' ' </div>\n' ' <div class="main__products js-products">\n' ' <div class="main__cards animation__low cards owl-carousel ' 'owl-theme js-product-slider-1">\n' ' {% for product in products_for_slider %}\n' ' <div class="card card--{{ product.category.css_class }}" ' 'onclick="window.location = \'{{ product.get_absolute_url }}\';">\n' ' <img src="{{ product.get_main_image.image_slider.url }}" ' 'alt="{{ product.get_main_image.get_alt }}" class="card__image">\n' ' <div class="card__info animation">\n' ' <div class="card__info-title h2">\n' ' {{ product.short_title|safe }}\n' ' </div>\n' ' <div class="card__description ' 'card__description--suit">\n' ' {{ product.short_description|safe }}\n' ' </div>\n' ' <div class="card__info-order">\n' ' <div class="card__info-cost">\n' ' <div class="card__info-text h2">\n' ' Цена:\n' ' </div>\n' ' <div class="card__info-price">\n' ' {{ product.start_price|currency|safe }}\n' ' </div>\n' ' </div>\n' ' <div class="card__info-deal">\n' ' <button class="button animation ' 'button--full-width js-form-modal">Назначить встречу</button>\n' ' </div>\n' ' </div>\n' ' </div>\n' ' </div>\n' ' {% endfor %}\n' ' </div>\n' ' <div class="main__cards main__cards-products animation__low ' 'cards">\n' ' {% for product in products %}\n' ' {% if product.get_main_image.image_mini %}\n' ' <div class="card-wrap">\n' ' <div c... <trimmed 7304 bytes string> |
origin | <django.template.base.Origin object at 0x7f98c4368cf8> |
self | <django.template.loaders.app_directories.Loader object at 0x7f98c4508cf8> |
skip | None |
template_name | 'sewing/textile_detail.html' |
tried | [(<django.template.base.Origin object at 0x7f98c4368ef0>, 'Source does not exist'), (<django.template.base.Origin object at 0x7f98c4368ac8>, 'Source does not exist'), (<django.template.base.Origin object at 0x7f98c43681d0>, 'Source does not exist'), (<django.template.base.Origin object at 0x7f98c4368908>, 'Source does not exist'), (<django.template.base.Origin object at 0x7f98c4368fd0>, 'Source does not exist'), (<django.template.base.Origin object at 0x7f98c4368470>, 'Source does not exist'), (<django.template.base.Origin object at 0x7f98c4368400>, 'Source does not exist'), (<django.template.base.Origin object at 0x7f98c43686d8>, 'Source does not exist'), (<django.template.base.Origin object at 0x7f98c4368828>, 'Source does not exist')] |
/srv/falcone/env/lib/python3.6/site-packages/django/template/base.py
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 0x7f98c474af60> |
name | 'sewing/textile_detail.html' |
origin | <django.template.base.Origin object at 0x7f98c4368cf8> |
self | <django.template.base.Template object at 0x7f98c43688d0> |
template_string | ("{% extends 'base.html' %}\n" '{% load common_tags static %}\n' '\n' '{% block pageseo %}\n' ' {% pageseo object object.title %}\n' '{% endblock %}\n' '\n' '{% block content %} \n' '<div class="main__section about-video">\n' ' <div class="layout layout--narrow">\n' ' <img src="{{ object.logo.url }}" alt="Holland & Sherry" ' 'class="about-video__main-picture">\n' ' <div class="about-video__description ' 'about-video__description--fabric show-more js-show-more">\n' ' {% if object.history %}\n' ' <div class="show-more__text animation">\n' ' {{ object.history|safe }}\n' ' <div class="show-more__shadow animation"></div>\n' ' </div>\n' ' <div class="show-more__button">\n' ' <div class="link show-more__button-text animation ' 'js-show-more-button">\n' ' Подробнее\n' ' </div>\n' ' </div>\n' ' {% endif %}\n' ' </div>\n' ' <div class="about-video__wrap about-video__wrap--zero-margin">\n' ' <video preload="auto" loop="true" autoplay="true" muted ' 'class="about-video__video">\n' ' <source ' 'src="https://ak.picdn.net/footage/assets/directors_choice/December-Picks-stock-videos.webm" ' 'type="video/webm">\n' ' <source ' 'src="https://ak.picdn.net/footage/assets/directors_choice/December-Picks-stock-videos.mp4" ' 'type="video/mp4">\n' ' </video>\n' ' <div class="about-video__overlay"></div>\n' ' <span class="icon icon--play play-video animation js-play-video" ' 'data-id="JOWOScffB1I"></span>\n' ' </div>\n' ' </div>\n' '</div>\n' '\n' '<div class="main__section made-textile">\n' ' <div class="layout">\n' ' <div class="main__subtitle h1">\n' ' Сшито из ткани {% if object.short_title|safe %}\n' ' </div>\n' ' <div class="main__products js-products">\n' ' <div class="main__cards animation__low cards owl-carousel ' 'owl-theme js-product-slider-1">\n' ' {% for product in products_for_slider %}\n' ' <div class="card card--{{ product.category.css_class }}" ' 'onclick="window.location = \'{{ product.get_absolute_url }}\';">\n' ' <img src="{{ product.get_main_image.image_slider.url }}" ' 'alt="{{ product.get_main_image.get_alt }}" class="card__image">\n' ' <div class="card__info animation">\n' ' <div class="card__info-title h2">\n' ' {{ product.short_title|safe }}\n' ' </div>\n' ' <div class="card__description ' 'card__description--suit">\n' ' {{ product.short_description|safe }}\n' ' </div>\n' ' <div class="card__info-order">\n' ' <div class="card__info-cost">\n' ' <div class="card__info-text h2">\n' ' Цена:\n' ' </div>\n' ' <div class="card__info-price">\n' ' {{ product.start_price|currency|safe }}\n' ' </div>\n' ' </div>\n' ' <div class="card__info-deal">\n' ' <button class="button animation ' 'button--full-width js-form-modal">Назначить встречу</button>\n' ' </div>\n' ' </div>\n' ' </div>\n' ' </div>\n' ' {% endfor %}\n' ' </div>\n' ' <div class="main__cards main__cards-products animation__low ' 'cards">\n' ' {% for product in products %}\n' ' {% if product.get_main_image.image_mini %}\n' ' <div class="card-wrap">\n' ' <div c... <trimmed 7304 bytes string> |
/srv/falcone/env/lib/python3.6/site-packages/django/template/base.py
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 0x7f98c4368048> |
parser | <django.template.base.Parser object at 0x7f98c4368940> |
self | <django.template.base.Template object at 0x7f98c43688d0> |
tokens | [] |
/srv/falcone/env/lib/python3.6/site-packages/django/template/base.py
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 0x7f98c891e598> |
nodelist | [] |
parse_until | [] |
self | <django.template.base.Parser object at 0x7f98c4368940> |
token | <django.template.base.Token object at 0x7f98c4368a20> |
/srv/falcone/env/lib/python3.6/site-packages/django/template/base.py
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 0x7f98c891e598> |
nodelist | [] |
parse_until | [] |
self | <django.template.base.Parser object at 0x7f98c4368940> |
token | <django.template.base.Token object at 0x7f98c4368a20> |
/srv/falcone/env/lib/python3.6/site-packages/django/template/loader_tags.py
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 0x7f98c3433d68> |
parser | <django.template.base.Parser object at 0x7f98c4368940> |
token | <django.template.base.Token object at 0x7f98c4368a20> |
/srv/falcone/env/lib/python3.6/site-packages/django/template/base.py
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 0x7f98c891e488> |
compiled_result | <Block Node: pageseo. Contents: [<TextNode: '\n '>, <django.template.library.InclusionNode object at 0x7f98c322cd68>, <TextNode: '\n'>]> |
nodelist | [<TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7f98c322cda0>, <TextNode: '\n\n'>, <Block Node: pageseo. Contents: [<TextNode: '\n '>, <django.template.library.InclusionNode object at 0x7f98c322cd68>, <TextNode: '\n'>]>, <TextNode: '\n\n'>] |
parse_until | [] |
self | <django.template.base.Parser object at 0x7f98c4368940> |
token | <django.template.base.Token object at 0x7f98c8696358> |
/srv/falcone/env/lib/python3.6/site-packages/django/template/base.py
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 0x7f98c891e488> |
compiled_result | <Block Node: pageseo. Contents: [<TextNode: '\n '>, <django.template.library.InclusionNode object at 0x7f98c322cd68>, <TextNode: '\n'>]> |
nodelist | [<TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7f98c322cda0>, <TextNode: '\n\n'>, <Block Node: pageseo. Contents: [<TextNode: '\n '>, <django.template.library.InclusionNode object at 0x7f98c322cd68>, <TextNode: '\n'>]>, <TextNode: '\n\n'>] |
parse_until | [] |
self | <django.template.base.Parser object at 0x7f98c4368940> |
token | <django.template.base.Token object at 0x7f98c8696358> |
/srv/falcone/env/lib/python3.6/site-packages/django/template/loader_tags.py
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 0x7f98c4368940> |
token | <django.template.base.Token object at 0x7f98c8696358> |
/srv/falcone/env/lib/python3.6/site-packages/django/template/base.py
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 | 'if' |
compile_func | <function do_if at 0x7f98c8915268> |
compiled_result | <IfNode> |
filter_expression | <django.template.base.FilterExpression object at 0x7f98c322cb38> |
nodelist | [<TextNode: ' \n<div class="main__secti'>, <Variable Node: object.logo.url>, <TextNode: '" alt="Holland & Sherry" '>, <IfNode>, <TextNode: '\n </div>\n <'>] |
parse_until | ('endblock',) |
self | <django.template.base.Parser object at 0x7f98c4368940> |
token | <django.template.base.Token object at 0x7f98c3f95eb8> |
var_node | <Variable Node: object.logo.url> |
/srv/falcone/env/lib/python3.6/site-packages/django/template/base.py
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 | 'if' |
compile_func | <function do_if at 0x7f98c8915268> |
compiled_result | <IfNode> |
filter_expression | <django.template.base.FilterExpression object at 0x7f98c322cb38> |
nodelist | [<TextNode: ' \n<div class="main__secti'>, <Variable Node: object.logo.url>, <TextNode: '" alt="Holland & Sherry" '>, <IfNode>, <TextNode: '\n </div>\n <'>] |
parse_until | ('endblock',) |
self | <django.template.base.Parser object at 0x7f98c4368940> |
token | <django.template.base.Token object at 0x7f98c3f95eb8> |
var_node | <Variable Node: object.logo.url> |
/srv/falcone/env/lib/python3.6/site-packages/django/template/defaulttags.py
in do_if
``==``, ``!=``, ``>``, ``>=``, ``<`` and ``<=``.
Operator precedence follows Python.
"""
# {% if ... %}
bits = token.split_contents()[1:]
condition = TemplateIfParser(parser, bits).parse()
nodelist = parser.parse(('elif', 'else', 'endif'))...
conditions_nodelists = [(condition, nodelist)]
token = parser.next_token()
# {% elif ... %} (repeatable)
while token.contents.startswith('elif'):
bits = token.split_contents()[1:]
Variable | Value |
---|---|
bits | ['object.short_title|safe'] |
condition | (literal <django.template.base.FilterExpression object at 0x7f98c435c2e8>) |
parser | <django.template.base.Parser object at 0x7f98c4368940> |
token | <django.template.base.Token object at 0x7f98c3f95eb8> |
/srv/falcone/env/lib/python3.6/site-packages/django/template/base.py
in parse
# tag.
self.command_stack.append((command, token))
# Get the tag callback function from the ones registered with
# the parser.
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)
Variable | Value |
---|---|
command | 'endblock' |
compile_func | <function do_for at 0x7f98c8923d08> |
compiled_result | <ForNode: for product in products, tail_len: 3> |
nodelist | [<TextNode: '\n </div>\n <'>, <ForNode: for product in products_for_slider, tail_len: 15>, <TextNode: '\n </div>\n '>, <ForNode: for product in products, tail_len: 3>, <TextNode: ' \n </div>\n '>] |
parse_until | ('elif', 'else', 'endif') |
self | <django.template.base.Parser object at 0x7f98c4368940> |
token | <django.template.base.Token object at 0x7f98c3433400> |
/srv/falcone/env/lib/python3.6/site-packages/django/template/base.py
in invalid_block_tag
if parse_until:
raise self.error(
token,
"Invalid block tag on line %d: '%s', expected %s. Did you "
"forget to register or load this tag?" % (
token.lineno,
command,
get_text_list(["'%s'" % p for p in parse_until], 'or'),...
),
)
raise self.error(
token,
"Invalid block tag on line %d: '%s'. Did you forget to register "
"or load this tag?" % (token.lineno, command)
Variable | Value |
---|---|
command | 'endblock' |
parse_until | ('elif', 'else', 'endif') |
self | <django.template.base.Parser object at 0x7f98c4368940> |
token | <django.template.base.Token object at 0x7f98c3433400> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'falconebianco.ru' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '3.237.65.102' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REAL_IP | '3.237.65.102' |
PATH_INFO | '/poshiv/tkani/cerruti/' |
QUERY_STRING | '' |
RAW_URI | '/poshiv/tkani/cerruti/' |
REMOTE_ADDR | '' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | 'falconebianco.ru' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SOFTWARE | 'gunicorn/19.9.0' |
gunicorn.socket | <socket.socket fd=9, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, laddr=/run/gunicorn.sock> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f98c44d4f28> |
wsgi.file_wrapper | '' |
wsgi.input | <gunicorn.http.body.Body object at 0x7f98c44d4d30> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
settings.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['79.143.28.241', 'falconebianco.ru'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | '/srv/falcone' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '127.0.0.1:11211'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CKEDITOR_CONFIGS | {'default': {'allowedContent': True, 'autoParagraph': False, 'forcePasteAsPlainText': True, 'removePlugins': 'stylesheetparser'}} |
CKEDITOR_IMAGE_BACKEND | 'pillow' |
CKEDITOR_UPLOAD_PATH | 'uploads/' |
COMPRESS_CACHEABLE_PRECOMPILERS | () |
COMPRESS_CACHE_BACKEND | 'default' |
COMPRESS_CACHE_KEY_FUNCTION | '********************' |
COMPRESS_CLEAN_CSS_ARGUMENTS | '' |
COMPRESS_CLEAN_CSS_BINARY | 'cleancss' |
COMPRESS_CLOSURE_COMPILER_ARGUMENTS | '' |
COMPRESS_CLOSURE_COMPILER_BINARY | 'java -jar compiler.jar' |
COMPRESS_CSS_COMPRESSOR | 'compressor.css.CssCompressor' |
COMPRESS_CSS_FILTERS | ['compressor.filters.cssmin.CSSCompressorFilter'] |
COMPRESS_CSS_HASHING_METHOD | 'mtime' |
COMPRESS_DATA_URI_MAX_SIZE | 1024 |
COMPRESS_DEBUG_TOGGLE | None |
COMPRESS_ENABLED | False |
COMPRESS_JINJA2_GET_ENVIRONMENT | <function CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7f98c6810620> |
COMPRESS_JS_COMPRESSOR | 'compressor.js.JsCompressor' |
COMPRESS_JS_FILTERS | ['compressor.filters.jsmin.JSMinFilter'] |
COMPRESS_MINT_DELAY | 30 |
COMPRESS_MTIME_DELAY | 10 |
COMPRESS_OFFLINE | False |
COMPRESS_OFFLINE_CONTEXT | {'STATIC_URL': '/static/'} |
COMPRESS_OFFLINE_MANIFEST | 'manifest.json' |
COMPRESS_OFFLINE_TIMEOUT | 31536000 |
COMPRESS_OUTPUT_DIR | 'CACHE' |
COMPRESS_PARSER | 'compressor.parser.AutoSelectParser' |
COMPRESS_PRECOMPILERS | () |
COMPRESS_REBUILD_TIMEOUT | 2592000 |
COMPRESS_ROOT | '/srv/falcone/static' |
COMPRESS_STORAGE | 'compressor.storage.CompressorFileStorage' |
COMPRESS_TEMPLATE_FILTER_CONTEXT | {'STATIC_URL': '/static/'} |
COMPRESS_URL | '/static/' |
COMPRESS_URL_PLACEHOLDER | '/__compressor_url_placeholder__/' |
COMPRESS_VERBOSE | False |
COMPRESS_YUGLIFY_BINARY | 'yuglify' |
COMPRESS_YUGLIFY_CSS_ARGUMENTS | '--terminal' |
COMPRESS_YUGLIFY_JS_ARGUMENTS | '--terminal' |
COMPRESS_YUI_BINARY | 'java -jar yuicompressor.jar' |
COMPRESS_YUI_CSS_ARGUMENTS | '' |
COMPRESS_YUI_JS_ARGUMENTS | '' |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': 'localhost', 'NAME': 'falcone', 'OPTIONS': {'init_command': 'set names utf8'}, 'PASSWORD': '********************', 'PORT': '3306', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'falcone_mysql'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_CONTENT_TYPE | 'text/html' |
DEFAULT_DOMAIN | 'https://falconebianco.ru' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_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_CHARSET | 'utf-8' |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | None |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
IGNORABLE_404_URLS | [] |
IMAGEKIT_CACHEFILE_DIR | 'CACHE/images' |
IMAGEKIT_CACHEFILE_NAMER | 'imagekit.cachefiles.namers.hash' |
IMAGEKIT_CACHE_BACKEND | 'default' |
IMAGEKIT_CACHE_PREFIX | 'imagekit:' |
IMAGEKIT_CACHE_TIMEOUT | 300 |
IMAGEKIT_DEFAULT_CACHEFILE_BACKEND | 'imagekit.cachefiles.backends.Simple' |
IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY | 'imagekit.cachefiles.strategies.JustInTime' |
IMAGEKIT_DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
IMAGEKIT_SPEC_CACHEFILE_NAMER | 'imagekit.cachefiles.namers.source_name_as_path' |
IMAGEKIT_USE_MEMCACHED_SAFE_CACHE_KEY | '********************' |
INSTALLED_APPS | ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'webp_converter', 'compressor', 'imagekit', 'transliterate', 'ckeditor', 'ckeditor_uploader', 'meta', 'phonenumber_field', 'rest_framework', 'common', 'sewing', 'crm'] |
INTERNAL_IPS | ('109.252.206.172',) |
LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'fa', 'ur'] |
LANGUAGE_CODE | 'ru' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '/srv/falcone/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_DAYS | '********************' |
PREPEND_WWW | False |
REST_FRAMEWORK | {'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.AllowAny',)} |
ROOT_URLCONF | 'settings.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | False |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'settings.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
STATICFILES_DIRS | () |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder') |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/srv/falcone/static' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/srv/falcone/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', 'webp_converter.context_processors.webp_support', 'common.context_processors.common', 'sewing.context_processors.sewing']}}] |
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 | 'Europe/Moscow' |
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 | 'settings.wsgi.application' |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
YEAR_MONTH_FORMAT | 'F Y' |
You're seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard page generated by the handler for this status code.