8 is not in list
Request Method: | GET |
---|---|
Request URL: | https://itmedia.site/portfolio/project/pao-zavod-krasnoe-znamya/ |
Django Version: | 2.2.9 |
Exception Type: | ValueError |
Exception Value: | 8 is not in list |
Exception Location: | /var/www/u0690510/data/www/site-itm.ru/itm_itmedia/portfolio/models.py in get_prev_project, line 100 |
Python Executable: | /opt/python/python-3.5.6/bin/python |
Python Version: | 3.5.10 |
Python Path: | ['/var/www/u0690510/data/www/site-itm.ru/itm_itmedia', '/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages', '/var/www/u0690510/data/www/site-itm.ru', '/usr/share/passenger/helper-scripts', '/opt/python/python-3.5.6/lib/python35.zip', '/opt/python/python-3.5.6/lib/python3.5', '/opt/python/python-3.5.6/lib/python3.5/plat-linux', '/opt/python/python-3.5.6/lib/python3.5/lib-dynload', '/opt/python/python-3.5.6/lib/python3.5/site-packages'] |
Server time: | Пт, 29 Мар 2024 10:11:07 +0300 |
In template /var/www/u0690510/data/www/site-itm.ru/itm_itmedia/itm_common/templates/itm_common/layout.html
, error at line 0
1 | <!DOCTYPE html> |
---|---|
2 | <html lang="ru-RU"> |
3 | <head> |
4 | {% load itm_common_tags %} |
5 | {% load staticfiles %} |
6 | {% smart_spaceless %} |
7 | {% load itm_main_tags %} |
8 | {% get_meta as meta_data %} |
9 | <meta charset="UTF-8"> |
10 | {# Блок для переопределения заголовка #} |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in _resolve_lookup
detail and shouldn't be called by external code. Use Variable.resolve()
instead.
"""
current = context
try: # catch-all for silent variable failures
for bit in self.lookups:
try: # dictionary lookup
current = current[bit]…
# ValueError/IndexError are for numpy.array lookup on
# numpy < 1.9 and 1.9+ respectively
except (TypeError, AttributeError, KeyError, ValueError, IndexError):
try: # attribute lookup
# Don't return class attributes if the class is the context:
if isinstance(current, BaseContext) and getattr(type(current), bit):
Variable | Value |
---|---|
bit | 'get_prev_project' |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
current | <PortfolioProject: ПАО завод «Красное знамя»> |
self | <Variable: 'project.get_prev_project'> |
template_name | 'portfolio/project-new.html' |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/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 | ValueError('8 is not in list',) |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f75dcaeaef0>> |
request | <WSGIRequest: GET '/portfolio/project/pao-zavod-krasnoe-znamya/'> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/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 PortfolioProjectDetailView at 0x7f75dba118c8> |
callback_args | () |
callback_kwargs | {'slug': 'pao-zavod-krasnoe-znamya'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f75dfa774a8>> |
request | <WSGIRequest: GET '/portfolio/project/pao-zavod-krasnoe-znamya/'> |
resolver | <URLResolver 'itm_itmedia.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=portfolio.views.PortfolioProjectDetailView, args=(), kwargs={'slug': 'pao-zavod-krasnoe-znamya'}, url_name=portfolio-detail, app_names=['portfolio'], namespaces=['portfolio'], route=^portfolio/project/(?P<slug>[\w\-]+)/$) |
response | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f75dcaeaef0> |
wrapped_callback | <function PortfolioProjectDetailView at 0x7f75dba118c8> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/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 PortfolioProjectDetailView at 0x7f75dba118c8> |
callback_args | () |
callback_kwargs | {'slug': 'pao-zavod-krasnoe-znamya'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f75dfa774a8>> |
request | <WSGIRequest: GET '/portfolio/project/pao-zavod-krasnoe-znamya/'> |
resolver | <URLResolver 'itm_itmedia.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=portfolio.views.PortfolioProjectDetailView, args=(), kwargs={'slug': 'pao-zavod-krasnoe-znamya'}, url_name=portfolio-detail, app_names=['portfolio'], namespaces=['portfolio'], route=^portfolio/project/(?P<slug>[\w\-]+)/$) |
response | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f75dcaeaef0> |
wrapped_callback | <function PortfolioProjectDetailView at 0x7f75dba118c8> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/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"> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/response.py
in rendered_content
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.
If the response has already been rendered,
Variable | Value |
---|---|
context | {'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>} |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
template | <django.template.backends.django.Template object at 0x7f75db953748> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/backends/django.py
in render
@property
def origin(self):
return self.template.origin
def render(self, context=None, request=None):
context = make_context(context, request, autoescape=self.backend.engine.autoescape)
try:
return self.template.render(context)…
except TemplateDoesNotExist as exc:
reraise(exc, self.backend)
def copy_exception(exc, backend=None):
"""
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
request | <WSGIRequest: GET '/portfolio/project/pao-zavod-krasnoe-znamya/'> |
self | <django.template.backends.django.Template object at 0x7f75db953748> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)…
else:
return self._render(context)
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <django.template.base.Template object at 0x7f75db9ad2e8> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <django.template.base.Template object at 0x7f75db9ad2e8> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
node | <ExtendsNode: extends 'global/main_preset.html'> |
self | [<ExtendsNode: extends 'global/main_preset.html'>] |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <ExtendsNode: extends 'global/main_preset.html'> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/loader_tags.py
in render
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)…
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, extra_context=None, isolated_context=False, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x7f75db9372e8> |
compiled_parent | <django.template.base.Template object at 0x7f75db9ad3c8> |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
node | <ExtendsNode: extends 'global/regions_mapping.html'> |
self | <ExtendsNode: extends 'global/main_preset.html'> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <django.template.base.Template object at 0x7f75db9ad3c8> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
node | <ExtendsNode: extends 'global/regions_mapping.html'> |
self | [<ExtendsNode: extends 'global/regions_mapping.html'>] |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <ExtendsNode: extends 'global/regions_mapping.html'> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/loader_tags.py
in render
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)…
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, extra_context=None, isolated_context=False, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x7f75db9372e8> |
compiled_parent | <django.template.base.Template object at 0x7f75db91fe10> |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
node | <ExtendsNode: extends 'global/system.html'> |
self | <ExtendsNode: extends 'global/regions_mapping.html'> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <django.template.base.Template object at 0x7f75db91fe10> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
node | <ExtendsNode: extends 'global/system.html'> |
self | [<ExtendsNode: extends 'global/system.html'>] |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <ExtendsNode: extends 'global/system.html'> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/loader_tags.py
in render
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)…
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, extra_context=None, isolated_context=False, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x7f75db9372e8> |
compiled_parent | <django.template.base.Template object at 0x7f75db925828> |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
node | <ExtendsNode: extends 'itm_common/layout.html'> |
self | <ExtendsNode: extends 'global/system.html'> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <django.template.base.Template object at 0x7f75db925828> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
node | <ExtendsNode: extends 'itm_common/layout.html'> |
self | [<ExtendsNode: extends 'itm_common/layout.html'>] |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <ExtendsNode: extends 'itm_common/layout.html'> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/loader_tags.py
in render
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)…
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, extra_context=None, isolated_context=False, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x7f75db9372e8> |
blocks | {'Title': <Block Node: Title. Contents: [<TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7f75db8b84e0>]>, 'body': <Block Node: body. Contents: [<TextNode: '\n '>]>, 'body_class': <Block Node: body_class. Contents: []>, 'end_scripts': <Block Node: end_scripts. Contents: [<TextNode: '\n '>]>, 'global_end_scripts': <Block Node: global_end_scripts. Contents: [<TextNode: '\n '>]>, 'global_head_scripts': <Block Node: global_head_scripts. Contents: [<TextNode: '\n '>]>, 'global_stylesheets': <Block Node: global_stylesheets. Contents: [<TextNode: '\n '>]>, 'head': <Block Node: head. Contents: [<TextNode: '\n <meta name="'>, <IfNode>, <TextNode: '\n <meta name="'>]>, 'head_scripts': <Block Node: head_scripts. Contents: [<TextNode: '\n '>]>, 'stylesheets': <Block Node: stylesheets. Contents: [<TextNode: '\n '>]>} |
compiled_parent | <django.template.base.Template object at 0x7f75db92c390> |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
node | <django.template.defaulttags.LoadNode object at 0x7f75db8b2c50> |
self | <ExtendsNode: extends 'itm_common/layout.html'> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <django.template.base.Template object at 0x7f75db92c390> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '">\n' |
bits | ['<!DOCTYPE html>\n<html lang="ru-RU">\n<head>\n ', '', '\n ', '', '\n ', '\n' ' \n' ' \n' ' <meta charset="UTF-8">\n' ' \n' ' \n' ' <meta name="viewport" content="width=device-width, ' 'initial-scale=1, user-scalable=no"/>\n' ' <meta http-equiv="X-UA-Compatible" content="IE=Edge">\n' '\n' ' \n' ' <title>Заказать сайт завода\n' ' | IT-media - только сайты, ничего лишнего!</title>\n' ' <meta name="description" content="Наша работа - сайт завода ' 'Красное знамя. IT Media Рязань."/>\n' ' <meta name="keywords" content="Сделать сайт завода, заказать ' 'сайт завода"/>\n' ' \n' ' <meta name="yandex-verification" content="82d882ac5e3039ec" />\n' ' <meta name="yandex-verification" content="1a98811ee3022493" />\n' ' <meta name="yandex-verification" content="3ede0fbef4fb230f" />\n' ' <link ' 'href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&subset=cyrillic"\n' ' rel="stylesheet">\n' ' <link ' 'href="https://fonts.googleapis.com/css?family=Roboto+Condensed:300,400,700&display=swap"\n' ' rel="stylesheet">\n' ' \n' '\n' ' \n' ' \n' ' \n' ' <link rel="stylesheet" type="text/css" ' 'href="/static/global/css/style.css"/>\n' ' <!-- Favicon and touch icons -->\n' ' <link rel="shortcut icon" href="/static/global/ico/favicon.png">\n' ' <link rel="apple-touch-icon-precomposed" sizes="114x114"\n' ' href="/static/global/ico/apple-touch-icon-114-precomposed.png">\n' ' <link rel="apple-touch-icon-precomposed" sizes="72x72"\n' ' href="/static/global/ico/apple-touch-icon-72-precomposed.png">\n' ' <link rel="apple-touch-icon-precomposed" ' 'href="/static/global/ico/apple-touch-icon-57-precomposed.png">\n' '\n' ' <style>\n' ' .btn-admin {\n' ' border: 1px solid #7777BB;\n' ' background-color: #7777BB;\n' ' padding: 5px;\n' ' color: white;\n' ' text-decoration: none;\n' ' }\n' '\n' ' .message-sent {\n' ' background-color: #d5f7df;\n' ' border-color: #c1f5d1;\n' ' color: #024717;\n' ' padding: 0 10px;\n' ' margin: 2px 0;\n' ' }\n' '\n' ' .message-sent-error {\n' ' background-color: #f2dede;\n' ' border-color: #ebccd1;\n' ' color: #a94442;\n' ' padding: 10px;\n' ' margin: 10px 0;\n' ' }\n' ' </style>\n' '\n' '\n' ' \n' ' \n' '\n' ' \n' ' \n' '\n' ' \n' ' \n' ' \n' ' <meta name="yandex-verification" content="c2ddb42d26ae2f6a" />\n' ' <!-- Yandex.Metrika counter -->\n' ' <script type="text/javascript" >\n' ' ' '(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};\n' ' m[i].l=1*new ' 'Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})\n' ' (window, document, "script", ' '"https://mc.yandex.ru/metrika/tag.js", "ym");\n' '\n' ' ym(57219268, "init", {\n' ' clickmap:true,\n' ' trackLinks:true,\n' ' accurateTrackBounce:true,\n' ' webvisor:true\n' ' });\n' ' </script>\n' ' <noscript><div><img src="https://mc.yandex.ru/watch/57219268" ' 'style="position:absolute; left:-9999px;" alt="" /></div></noscript>\n' ' <!-- /Yandex.Metrika counter -->\n' ' <!-- Global site tag (gtag.js) - Google Analytics -->\n' ' <script async ' 'src="https://www.googletagmanager.com/gtag/js?id=UA-42612236-64"></script>\n' ' <script>\n' ' window.dataLayer = window.dataLayer || [];\n' ' function gtag(){dataLayer.push(argu… <trimmed 4295 bytes string> |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
node | <itm_common.templatetags.itm_common_tags.SmartSpacelessNode object at 0x7f75db8b2b38> |
self | [<TextNode: '<!DOCTYPE html>\n<html lan'>, <django.template.defaulttags.LoadNode object at 0x7f75db8b2c50>, <TextNode: '\n '>, <django.template.defaulttags.LoadNode object at 0x7f75db8b2cc0>, <TextNode: '\n '>, <itm_common.templatetags.itm_common_tags.SmartSpacelessNode object at 0x7f75db8b22e8>, <TextNode: '\n '>, <Variable Node: form.media>, <TextNode: '\n</head>\n<body class="'>, <Block Node: body_class. Contents: []>, <TextNode: '">\n'>, <itm_common.templatetags.itm_common_tags.SmartSpacelessNode object at 0x7f75db8b2b38>, <TextNode: '\n</body>\n</html>\n'>] |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <itm_common.templatetags.itm_common_tags.SmartSpacelessNode object at 0x7f75db8b2b38> |
/var/www/u0690510/data/www/site-itm.ru/itm_itmedia/itm_common/templatetags/itm_common_tags.py
in render
class SmartSpacelessNode(template.Node):
def __init__(self, nodelist):
self.nodelist = nodelist
def render(self, context):
content = self.nodelist.render(context)…
return content if settings.DEBUG else strip_spaces_between_tags(content.strip())
@register.tag
def smart_spaceless(parser, token):
"""
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <itm_common.templatetags.itm_common_tags.SmartSpacelessNode object at 0x7f75db8b2b38> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n ' |
bits | ['\n '] |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
node | <Block Node: body. Contents: [<TextNode: '\n '>]> |
self | [<TextNode: '\n '>, <Block Node: body. Contents: [<TextNode: '\n '>]>, <TextNode: '\n\n '>, <TextNode: '\n '>, <TextNode: '\n '>, <Block Node: global_end_scripts. Contents: [<TextNode: '\n '>]>, <TextNode: '\n '>, <TextNode: '\n '>, <Block Node: end_scripts. Contents: [<TextNode: '\n '>]>, <TextNode: '\n'>] |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <Block Node: body. Contents: [<TextNode: '\n '>]> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/loader_tags.py
in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
block.context = context
context['block'] = block
result = block.nodelist.render(context)…
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
block | <Block Node: body. Contents: [<TextNode: '\n '>, <Block Node: header. Contents: [<TextNode: '\n '>]>, <TextNode: '\n\n '>, <Block Node: content. Contents: [<TextNode: '\n '>]>, <TextNode: '\n\n '>, <Block Node: footer. Contents: [<TextNode: '\n '>]>, <TextNode: '\n\n'>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f75db9372e8> |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
push | <Block Node: body. Contents: [<TextNode: '\n '>, <Block Node: header. Contents: [<TextNode: '\n '>]>, <TextNode: '\n\n '>, <Block Node: content. Contents: [<TextNode: '\n '>]>, <TextNode: '\n\n '>, <Block Node: footer. Contents: [<TextNode: '\n '>]>, <TextNode: '\n\n'>]> |
self | <Block Node: body. Contents: [<TextNode: '\n '>]> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n\n ' |
bits | ['\n ', '\n' ' \n' '\n' '\n' '\n' '\n' '<header> \n' '\t<div class="container">\n' '\t <div class="flex-header">\n' ' <a href="/"><img class="logo" src="/static/global/img/logo.svg" ' 'alt="logo"></a>\n' '\t\t\t<div id="navigation" class="navigation">\n' '\t <ul class="nav">\n' '\t \t\n' '\t\t <li><a class="active" href="/"><img class="ico" ' 'src="/static/global/img/ico1.svg" alt="ico"><span>главная</span></a></li>\n' '\t\t\t <li><a href="/portfolio/"><img class="ico" ' 'src="/static/global/img/ico2.svg" alt="ico"><span>портфолио</span></a></li>\n' '\t\t\t <li><a href="/development/"><img class="ico" ' 'src="/static/global/img/ico4.svg" ' 'alt="ico"><span>разработка</span></a></li>\n' '\t\t\t <li><a href="/support/"><img class="ico" ' 'src="/static/global/img/ico3.svg" ' 'alt="ico"><span>техподдержка</span></a></li>\n' '\t\t\t <li><a href="/promotion/"><img class="ico" ' 'src="/static/global/img/ico4.svg" ' 'alt="ico"><span>продвижение</span></a></li>\n' '\t\t \t<li><a href="/contact/"><img class="ico" ' 'src="/static/global/img/ico5.svg" alt="ico"><span>контакты</span></a></li>\n' '\t </ul>\t\t\n' '\t </div>\n' '\t\t\t<div class="burger">\n' ' <span></span>\n' ' </div>\n' '\t\t</div>\n' ' </div> \n' '\t<section id="main-nav">\n' ' <div class="col-6">\n' ' <div class="col-6 nav-logo">\n' ' <div class="flex-column">\n' '\t\t\t <a class="logo-nav" href="/"><img ' 'src="/static/global/img/logo-menu.svg" alt="logo-nav"></a>\n' ' </div>\n' ' </div>\n' ' <div class="col-6 nav-txt">\n' ' <div class="flex-column">\n' '\t\t\t <p>Вы задаёте направление и задачи, а мы делаем все остальное ' '– разрабатываем идеи, стратегию и веб-разработку.</p>\n' '\n' '\n' '\n' ' </div>\n' ' </div>\n' '\t\t<div class="col-12 nav-map">\n' ' <section id="cd-google-map">\n' '\t <div id="google-container"></div>\n' '\t <div id="cd-zoom-in"></div>\n' '\t <div id="cd-zoom-out"></div>\n' ' </section>\n' ' </div>\n' ' </div>\n' ' <div class="col-6 nav-list">\n' ' <div class="flex-column">\n' '\t\t <a class="hidden-link" href="/"><img ' 'src="/static/global/img/logo-menu.svg" alt="logo-nav"></a>\n' '\t\t\t<ul>\n' '\t\t \n' '\t\t <li><a href="/">главная</a></li>\n' '\t\t\t\t<li><a href="/portfolio/">портфолио</a></li>\n' '\t\t\t\t<li><a href="/development/">разработка</a></li>\n' '\t\t\t\t<li><a href="/support/">техподдержка</a></li>\n' '\t\t\t\t<li><a href="/promotion/">продвижение</a></li>\n' '\t\t\t\t<li><a href="/contact/">контакты</a></li>\n' '\t </ul>\n' ' </div>\n' ' </div>\n' ' </section>\n' '</header>\n' '\n', '\n\n '] |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
node | <Block Node: content. Contents: [<TextNode: '\n '>]> |
self | [<TextNode: '\n '>, <Block Node: header. Contents: [<TextNode: '\n '>]>, <TextNode: '\n\n '>, <Block Node: content. Contents: [<TextNode: '\n '>]>, <TextNode: '\n\n '>, <Block Node: footer. Contents: [<TextNode: '\n '>]>, <TextNode: '\n\n'>] |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <Block Node: content. Contents: [<TextNode: '\n '>]> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/loader_tags.py
in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
block.context = context
context['block'] = block
result = block.nodelist.render(context)…
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
block | <Block Node: content. Contents: [<TextNode: '\n\n<section id="project">\n'>, <Variable Node: project.file.url>, <TextNode: '" alt="project">\n\t\t<div c'>, <Variable Node: project.logo.url>, <TextNode: '" alt="logo-folio"/>\n\t</d'>, <Variable Node: project.description|safe>, <TextNode: '\n\t <a class="project-l'>, <Variable Node: project.link>, <TextNode: '" target="_blank" rel="no'>, <IfNode>, <TextNode: '\n </div>\n</section>\n\n<'>, <django.templatetags.static.StaticNode object at 0x7f75db918358>, <TextNode: '" alt="ico">\n\t\t<img class'>, <django.templatetags.static.StaticNode object at 0x7f75db9183c8>, <TextNode: '" alt="ico">\n\t\t<img class'>, <django.templatetags.static.StaticNode object at 0x7f75db918470>, <TextNode: '" alt="ico">\n\t</div>\n\t'>, <IfNode>, <TextNode: '\n\n'>, <IfNode>, <TextNode: '\n\n'>, <IfNode>, <TextNode: '\n\n'>, <ForNode: for technology in project.list_technology, tail_len: 14>, <TextNode: '\n\n<section id="project-co'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\t </ul>\n\t</div>\n\t<div'>, <itm_main.templatetags.itm_main_tags.BlockNode object at 0x7f75db915048>, <TextNode: '\n\t\t\t<hr class="line">\n\t\t<'>, <django.template.defaulttags.URLNode object at 0x7f75db91f2e8>, <TextNode: '" method="post" name="pro'>, <django.template.defaulttags.CsrfTokenNode object at 0x7f75db91f208>, <TextNode: '\n\t\t <div class="fo'>, <django.templatetags.static.StaticNode object at 0x7f75db91f438>, <TextNode: '">Условия соглашения</a> '>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f75db9372e8> |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
push | <Block Node: content. Contents: [<TextNode: '\n\n<section id="project">\n'>, <Variable Node: project.file.url>, <TextNode: '" alt="project">\n\t\t<div c'>, <Variable Node: project.logo.url>, <TextNode: '" alt="logo-folio"/>\n\t</d'>, <Variable Node: project.description|safe>, <TextNode: '\n\t <a class="project-l'>, <Variable Node: project.link>, <TextNode: '" target="_blank" rel="no'>, <IfNode>, <TextNode: '\n </div>\n</section>\n\n<'>, <django.templatetags.static.StaticNode object at 0x7f75db918358>, <TextNode: '" alt="ico">\n\t\t<img class'>, <django.templatetags.static.StaticNode object at 0x7f75db9183c8>, <TextNode: '" alt="ico">\n\t\t<img class'>, <django.templatetags.static.StaticNode object at 0x7f75db918470>, <TextNode: '" alt="ico">\n\t</div>\n\t'>, <IfNode>, <TextNode: '\n\n'>, <IfNode>, <TextNode: '\n\n'>, <IfNode>, <TextNode: '\n\n'>, <ForNode: for technology in project.list_technology, tail_len: 14>, <TextNode: '\n\n<section id="project-co'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\t </ul>\n\t</div>\n\t<div'>, <itm_main.templatetags.itm_main_tags.BlockNode object at 0x7f75db915048>, <TextNode: '\n\t\t\t<hr class="line">\n\t\t<'>, <django.template.defaulttags.URLNode object at 0x7f75db91f2e8>, <TextNode: '" method="post" name="pro'>, <django.template.defaulttags.CsrfTokenNode object at 0x7f75db91f208>, <TextNode: '\n\t\t <div class="fo'>, <django.templatetags.static.StaticNode object at 0x7f75db91f438>, <TextNode: '">Условия соглашения</a> '>]> |
self | <Block Node: content. Contents: [<TextNode: '\n '>]> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | ('\n' '\n' '<section id="project-contact">\n' ' <div class="folio-link">\n' '\t <ul>\n' '\t \t') |
bits | ['\n' '\n' '<section id="project">\n' '\t<div class="left-container">\n' ' <img class="project-company" src="', '/media/portfolio_project/2_Tm06SZz.jpg', '" alt="project">\n' '\t\t<div class="project-overlay"></div>\n' '\t\t<img class="logo-project" src="', '/media/portfolio_project/logo-header-white.svg', '" alt="logo-folio"/>\n\t</div>\n\t<div class="right-container">\n\t ', '<h1>ПАО завод «Красное знамя»</h1>\r\n' '<p class="subtitle">ПАО завод «Красное знамя» – крупнейшее ' 'предприятие города, основанное в 1918 году. Завод является технологическим ' 'научно-производственным комплексом, который разрабатывает продукцию для ' 'радиоэлектронной промышленности. К деятельности завода относятся: ' 'изготовление изделий, монтаж, пуско-наладочные работы, розничная и оптовая ' 'продажа, обслуживание по гарантии и прочие.</p>', '\n\t <a class="project-link" href="', 'https://www.kznamya.ru', '" target="_blank" rel="nofollow">Перейти на сайт</a>\n\t ', '', '\n' ' </div>\n' '</section>\n' '\n' '<section id="project-list">\n' ' <div class="projectbg">\n' '\t <img class="bg-1" src="', '/static/global/img/project1.svg', '" alt="ico">\n\t\t<img class="bg-2" src="', '/static/global/img/project2.svg', '" alt="ico">\n\t\t<img class="bg-3" src="', '/static/global/img/project3.svg', '" alt="ico">\n\t</div>\n\t', '\n' '\t<div class="container">\n' '\t <div class="project-txt anim-bottom"> \n' '\t <h2 class="title">КОНЦЕПЦИЯ</h2>\n' '\t <p>В связи с введением режима самоизоляции, сайт ПАО завод ' '«Красное знамя» заполнен не до конца. Надеемся, что скоро ' 'ситуация разрешится и он продолжит наполняться интересным ' 'контентом.</p>\t\t \n' '\t\t\t<hr class="line">\n' '\t\t</div>\n' '\t <div class="folio">\n' '\t \t\n' '\t\t \t<img class="main-page" ' 'src="/media/portfolio_project_img/KZ-1-1_AwP5d74.jpg" alt="project">\n' '\t\t \n' '\t\t\t<div class="asside-img">\n' '\t\t\t\t\n' '\t\t \t<img src="/media/portfolio_project_img/KZ-1-2.jpg" ' 'alt="project">\n' '\t\t \n' '\t\t \t<img src="/media/portfolio_project_img/KZ-1-6_xwflpZD.jpg" ' 'alt="project">\n' '\t\t \n' '\t\t \t<img src="/media/portfolio_project_img/KZ-1-4.jpg" ' 'alt="project">\n' '\t\t \n' '\t\t \t<img src="/media/portfolio_project_img/KZ-1-5.jpg" ' 'alt="project">\n' '\t\t \n' '\t\t \t<img src="/media/portfolio_project_img/KZ-1-7.jpg" ' 'alt="project">\n' '\t\t \n' '\t\t\t</div>\n' '\t\t</div>\n' ' </div>\n' '</section>\n', '\n\n', '\n' '<section id="prog">\n' '\t<div class="container">\n' ' <h2 class="title">ПРОГРАММНЫЕ РЕШЕНИЯ</h2>\n' ' <p>В связи с введением режима самоизоляции, сайт ПАО завод ' '«Красное знамя» заполнен не до конца. Надеемся, что скоро ' 'ситуация разрешится и он продолжит наполняться интересным ' 'контентом.</p> \n' ' </div>\n' '</section>\n', '\n\n', '\n' '<section id="tehno">\n' '\t<div class="container">\n' ' <h2 class="title">Технологии</h2>\n' ' <div class="tehno-grid">\n' ' \t\n' ' <div class="tehno-item">\n' ' <img src="/media/portfolio_project_logo_img/1_EQYBwW0.png" ' 'alt="img">\n' ' \n' ' </div>\n' ' \n' ' <div class="tehno-item">\n' ' <img src="/media/portfolio_project_logo_img/5_NDF2C6z.png" ' 'alt="img">\n' ' \n' ' </div>\n' ' \n' ' <div class="tehno-item">\n' ' <img src="/media/portfolio_project_logo_img/6_VC4mTIx.png" ' 'alt="img">\n' ' \n' ' </div>\n' ' \n' ' <div class="tehno-item">\n' ' <img src="/media/portfolio_project_logo_img/7_9VCf0PF.png" ' 'alt="img">\n' ' \n' ' </div>\n' ' \n' ' </div>\n' ' </div>\n' '</section>\n'… <trimmed 5257 bytes string> |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
node | <IfNode> |
self | [<TextNode: '\n\n<section id="project">\n'>, <Variable Node: project.file.url>, <TextNode: '" alt="project">\n\t\t<div c'>, <Variable Node: project.logo.url>, <TextNode: '" alt="logo-folio"/>\n\t</d'>, <Variable Node: project.description|safe>, <TextNode: '\n\t <a class="project-l'>, <Variable Node: project.link>, <TextNode: '" target="_blank" rel="no'>, <IfNode>, <TextNode: '\n </div>\n</section>\n\n<'>, <django.templatetags.static.StaticNode object at 0x7f75db918358>, <TextNode: '" alt="ico">\n\t\t<img class'>, <django.templatetags.static.StaticNode object at 0x7f75db9183c8>, <TextNode: '" alt="ico">\n\t\t<img class'>, <django.templatetags.static.StaticNode object at 0x7f75db918470>, <TextNode: '" alt="ico">\n\t</div>\n\t'>, <IfNode>, <TextNode: '\n\n'>, <IfNode>, <TextNode: '\n\n'>, <IfNode>, <TextNode: '\n\n'>, <ForNode: for technology in project.list_technology, tail_len: 14>, <TextNode: '\n\n<section id="project-co'>, <IfNode>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\t </ul>\n\t</div>\n\t<div'>, <itm_main.templatetags.itm_main_tags.BlockNode object at 0x7f75db915048>, <TextNode: '\n\t\t\t<hr class="line">\n\t\t<'>, <django.template.defaulttags.URLNode object at 0x7f75db91f2e8>, <TextNode: '" method="post" name="pro'>, <django.template.defaulttags.CsrfTokenNode object at 0x7f75db91f208>, <TextNode: '\n\t\t <div class="fo'>, <django.templatetags.static.StaticNode object at 0x7f75db91f438>, <TextNode: '">Условия соглашения</a> '>] |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <IfNode> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/defaulttags.py
in render
return NodeList(self)
def render(self, context):
for condition, nodelist in self.conditions_nodelists:
if condition is not None: # if / elif clause
try:
match = condition.eval(context)…
except VariableDoesNotExist:
match = None
else: # else clause
match = True
if match:
Variable | Value |
---|---|
condition | (literal <django.template.base.FilterExpression object at 0x7f75db9105f8>) |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
nodelist | [<TextNode: '\n\t\t <li><a href="'>, <django.template.defaulttags.URLNode object at 0x7f75db91deb8>, <TextNode: '" class="prev-page">Преды'>] |
self | <IfNode> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/defaulttags.py
in eval
self.value = value
self.text = text # for better error messages
def display(self):
return self.text
def eval(self, context):
return self.value.resolve(context, ignore_failures=True)…
class TemplateIfParser(IfParser):
error_class = TemplateSyntaxError
def __init__(self, parser, *args, **kwargs):
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | (literal <django.template.base.FilterExpression object at 0x7f75db9105f8>) |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in resolve
self.filters = filters
self.var = var_obj
def resolve(self, context, ignore_failures=False):
if isinstance(self.var, Variable):
try:
obj = self.var.resolve(context)…
except VariableDoesNotExist:
if ignore_failures:
obj = None
else:
string_if_invalid = context.template.engine.string_if_invalid
if string_if_invalid:
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
ignore_failures | True |
self | <django.template.base.FilterExpression object at 0x7f75db9105f8> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in resolve
var)
self.lookups = tuple(var.split(VARIABLE_ATTRIBUTE_SEPARATOR))
def resolve(self, context):
"""Resolve this variable against a given context."""
if self.lookups is not None:
# We're dealing with a variable that needs to be resolved
value = self._resolve_lookup(context)…
else:
# We're dealing with a literal, so it's already been "resolved"
value = self.literal
if self.translate:
is_safe = isinstance(value, SafeData)
msgid = value.replace('%', '%%')
Variable | Value |
---|---|
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
self | <Variable: 'project.get_prev_project'> |
/var/www/u0690510/data/itm_itmedia/lib/python3.5/site-packages/django/template/base.py
in _resolve_lookup
# ValueError/IndexError are for numpy.array lookup on
# numpy < 1.9 and 1.9+ respectively
except (TypeError, AttributeError, KeyError, ValueError, IndexError):
try: # attribute lookup
# Don't return class attributes if the class is the context:
if isinstance(current, BaseContext) and getattr(type(current), bit):
raise AttributeError
current = getattr(current, bit)…
except (TypeError, AttributeError):
# Reraise if the exception was raised by a @property
if not isinstance(current, BaseContext) and bit in dir(current):
raise
try: # list-index lookup
current = current[int(bit)]
Variable | Value |
---|---|
bit | 'get_prev_project' |
context | [{'True': True, 'None': None, 'False': False}, {}, {}, {'project': <PortfolioProject: ПАО завод «Красное знамя»>, 'meta_data': <MetaData: Заказать сайт завода>, 'object': <PortfolioProject: ПАО завод «Красное знамя»>, 'view': <portfolio.views.PortfolioProjectDetailView object at 0x7f75db937198>}] |
current | <PortfolioProject: ПАО завод «Красное знамя»> |
self | <Variable: 'project.get_prev_project'> |
template_name | 'portfolio/project-new.html' |
/var/www/u0690510/data/www/site-itm.ru/itm_itmedia/portfolio/models.py
in get_prev_project
return 0
except:
return 0
@property
def get_prev_project(self):
list_id = list(PortfolioProject.pub_objects.values_list('id', flat=True))
self_id_index = list_id.index(self.id)…
if self_id_index:
next_id_index = self_id_index - 1
else:
return 0
try:
Variable | Value |
---|---|
list_id | [1, 2, 3, 7, 9, 10, 13, 4, 38, 39, 12, 11, 22, 25, 17, 24, 23, 19, 14, 15, 16, 36, 18, 21, 20, 33, 27, 34, 40, 37, 32, 43, 42, 41, 28, 29, 30, 31, 44, 35] |
self | <PortfolioProject: ПАО завод «Красное знамя»> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTPS | 'on' |
HTTP_ACCEPT | '*/*' |
HTTP_HOST | 'itmedia.site' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_PORT | '443' |
HTTP_X_FORWARDED_PROTO | 'https' |
PASSENGER_CONNECT_PASSWORD | '6B3siuthvwCeMXD3' |
PATH_INFO | '/portfolio/project/pao-zavod-krasnoe-znamya/' |
PERL5LIB | '/usr/share/awstats/lib:/usr/share/awstats/plugins' |
QUERY_STRING | '' |
REMOTE_ADDR | '54.234.6.167' |
REMOTE_PORT | '56030' |
REQUEST_METHOD | 'GET' |
REQUEST_SCHEME | 'https' |
REQUEST_URI | '/portfolio/project/pao-zavod-krasnoe-znamya/' |
SCRIPT_NAME | '' |
SERVER_NAME | 'itmedia.site' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.1' |
SERVER_SOFTWARE | ('Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 ' 'Phusion_Passenger/5.3.7') |
UNIQUE_ID | 'ZgZpi4HLrNaajHbOHhNNtgAAAMg' |
passenger.hijack | None |
wsgi.errors | <_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'> |
wsgi.input | <_io.BufferedReader name=5> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
itm_itmedia.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['site-itm.ru', 'www.site-itm.ru', 'itmedia.site'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | '/var/www/u0690510/data/www/site-itm.ru/itm_itmedia' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
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': 'u0690510_itm_itmedia', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'u0690510_itm_itm'}} |
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_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | ['nikol@site-itm.ru', 'egor@site-itm.ru'] |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_PAGES_TEMPLATE | 'main/page_detail.html' |
DEFAULT_PAGINATION_COUNT | 9 |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'smtp.yandex.ru' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'no-reply@site-itm.ru' |
EMAIL_HOST_USER_CONTACTS_FORM | ['nikol@site-itm.ru', 'egor@site-itm.ru'] |
EMAIL_PORT | 465 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | True |
EMAIL_USE_TLS | False |
FILEBROWSER_DIRECTORY | '' |
FILE_CHARSET | 'utf-8' |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | None |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['filebrowser', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sitemaps', 'adminsortable', 'itm_common', 'itm_main', 'main', 'portfolio', 'easy_thumbnails', 'tinymce', 'ajax_select', 'django_filters'] |
INTERNAL_IPS | [] |
ITM_SITE_NAME | 'ITMedia' |
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'), ('hy', 'Armenian'), ('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-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 | '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 |
ROOT_URLCONF | 'itm_itmedia.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 | 'itm_itmedia.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'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | 'static' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/www/u0690510/data/www/site-itm.ru/itm_itmedia/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']}}] |
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' |
TINYMCE_DEFAULT_CONFIG | {'contextmenu': 'formats | link image', 'height': '400px', 'language': 'ru', 'plugins': 'link image preview codesample contextmenu table code', 'relative_urls': False, 'theme': 'modern', 'toolbar1': 'bold italic underline | alignleft aligncenter alignright ' 'alignjustify | bullist numlist | outdent indent | table | link ' 'image | codesample | preview code', 'width': '900px'} |
TINYMCE_JS_ROOT | '/static/tinymce/js/tinymce' |
TINYMCE_JS_URL | '/static/tinymce/js/tinymce/tinymce.min.js' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | False |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'itm_itmedia.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.