[Errno 2] No such file or directory: '/home/users/k/kubpoisk/domains/kubpoisk.ru/media/upload/gallery/2019/02/07/anistratenko.jpg'
Request Method: | GET |
---|---|
Request URL: | https://kubpoisk.ru/gallery/207/ |
Django Version: | 3.2.7 |
Exception Type: | FileNotFoundError |
Exception Value: | [Errno 2] No such file or directory: '/home/users/k/kubpoisk/domains/kubpoisk.ru/media/upload/gallery/2019/02/07/anistratenko.jpg' |
Exception Location: | /home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/core/files/storage.py, line 238, in _open |
Python Executable: | /home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/bin/python3 |
Python Version: | 3.9.18 |
Python Path: | ['/home/users/k/kubpoisk/domains/kubpoisk.ru/kubpoisk3', '/home/users/k/kubpoisk/domains/kubpoisk.ru', '/opt/passenger/src/helper-scripts', '/opt/alt/python39/lib64/python39.zip', '/opt/alt/python39/lib64/python3.9', '/opt/alt/python39/lib64/python3.9/lib-dynload', '/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib64/python3.9/site-packages', '/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages'] |
Server time: | Thu, 18 Apr 2024 19:44:02 +0300 |
In template /home/users/k/kubpoisk/domains/kubpoisk.ru/kubpoisk3/templates/base.html
, error at line 0
1 | {% load static %} |
---|---|
2 | {% load project_tags %} |
3 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
4 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru"> |
5 | <head> |
6 | <title>{%if page_title %}{{ page_title }} | Кубаньпоиск{% else %}Кубаньпоиск{% endif %}</title> |
7 | <meta name="title" content="{{ page_title }}" /> |
8 | <meta name="yandex-verification" content="cbd15ee8f68a7463" /> |
9 | <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> |
10 | <link rel="stylesheet" type="text/css" media="all" href="{% static 'css/style.css' %}" /> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 829, 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 | 'url' |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
current | <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg> |
self | <Variable: 'item.image_preview.url'> |
template_name | 'gallery/item_gallery.html' |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/core/handlers/exception.py
, line 47, in inner
response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)
return response
return inner
else:
@wraps(get_response)
def inner(request):
try:
response = get_response(request)…
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | FileNotFoundError(2, 'No such file or directory') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f9d371effd0>> |
request | <WSGIRequest: GET '/gallery/207/'> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/core/handlers/base.py
, line 181, in _get_response
if response is None:
wrapped_callback = self.make_view_atomic(callback)
# If it is an asynchronous view, run it in a subthread.
if asyncio.iscoroutinefunction(wrapped_callback):
wrapped_callback = async_to_sync(wrapped_callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
# Complain if the view returned None (a common error).
Variable | Value |
---|---|
callback | <function item_gallery at 0x7f9d370f8c10> |
callback_args | () |
callback_kwargs | {'gallery_id': '207'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f9d371ae4c0>> |
request | <WSGIRequest: GET '/gallery/207/'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f9d371effd0> |
wrapped_callback | <function item_gallery at 0x7f9d370f8c10> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/kubpoisk3/apps/gallery/views.py
, line 46, in item_gallery
'list': list_categories,
}
)
def item_gallery(request, gallery_id):
gallery_item = GalleryItem.objects.get(pk=gallery_id)
gallery_image_list = GalleryImageItem.objects.filter(gallery=gallery_item).order_by('id')
return render(request, 'gallery/item_gallery.html', {…
'page_title': 'Галерея',
'category': gallery_item.category.title,
'gallery_item': gallery_item,
'gallery_image_items': gallery_image_list,
}
)
Variable | Value |
---|---|
gallery_id | '207' |
gallery_image_list | <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']> |
gallery_item | <GalleryItem: Партизаны и подпольщики Щербиновского района> |
request | <WSGIRequest: GET '/gallery/207/'> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/shortcuts.py
, line 19, in render
def render(request, template_name, context=None, content_type=None, status=None, using=None):
"""
Return a HttpResponse whose content is filled with the result of calling
django.template.loader.render_to_string() with the passed arguments.
"""
content = loader.render_to_string(template_name, context, request, using=using)…
return HttpResponse(content, content_type, status)
def redirect(to, *args, permanent=False, **kwargs):
"""
Return an HttpResponseRedirect to the appropriate URL for the arguments
Variable | Value |
---|---|
content_type | None |
context | {'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>, 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'page_title': 'Галерея'} |
request | <WSGIRequest: GET '/gallery/207/'> |
status | None |
template_name | 'gallery/item_gallery.html' |
using | None |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/loader.py
, line 62, in render_to_string
template_name may be a string or a list of strings.
"""
if isinstance(template_name, (list, tuple)):
template = select_template(template_name, using=using)
else:
template = get_template(template_name, using=using)
return template.render(context, request)…
def _engine_list(using=None):
return engines.all() if using is None else [engines[using]]
Variable | Value |
---|---|
context | {'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>, 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'page_title': 'Галерея'} |
request | <WSGIRequest: GET '/gallery/207/'> |
template | <django.template.backends.django.Template object at 0x7f9d36483910> |
template_name | 'gallery/item_gallery.html' |
using | None |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/backends/django.py
, line 61, in render
@property
def origin(self):
return self.template.origin
def render(self, context=None, request=None):
context = make_context(context, request, autoescape=self.backend.engine.autoescape)
try:
return self.template.render(context)…
except TemplateDoesNotExist as exc:
reraise(exc, self.backend)
def copy_exception(exc, backend=None):
"""
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
request | <WSGIRequest: GET '/gallery/207/'> |
self | <django.template.backends.django.Template object at 0x7f9d36483910> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 170, in render
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)…
else:
return self._render(context)
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
self | <django.template.base.Template object at 0x7f9d36880250> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 162, in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
self | <django.template.base.Template object at 0x7f9d36880250> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
node | <ExtendsNode: extends "base.html"> |
self | [<ExtendsNode: extends "base.html">] |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
self | <ExtendsNode: extends "base.html"> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/loader_tags.py
, line 150, 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 0x7f9d367b8490> |
blocks | {'content': <Block Node: content. Contents: [<TextNode: '\n '>]>} |
compiled_parent | <django.template.base.Template object at 0x7f9d368802e0> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
node | <django.template.defaulttags.LoadNode object at 0x7f9d36a545e0> |
self | <ExtendsNode: extends "base.html"> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 162, in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
self | <django.template.base.Template object at 0x7f9d368802e0> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | ('\n' ' \n' ' </div>\n' ' <!-- конец левой колонки -->\n' '\n' ' <!-- правая колонка -->\n' ' <div class="kolonka_right">\n' ' \n' ' \n' ' <div class="kniga_pam">\n' ' <a ' 'href="/vnimanie_rozisk/">Розыск</a>\n' ' </div>\n' '\n' ' ') |
bits | ['', '\n', '', '\n' '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" ' '"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n' '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">\n' '<head>\n' ' <title>', 'Галерея | Кубаньпоиск', '</title>\n <meta name="title" content="', 'Галерея', '" />\n' ' <meta name="yandex-verification" content="cbd15ee8f68a7463" />\n' ' <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />\n' ' <link rel="stylesheet" type="text/css" media="all" href="', '/static/css/style.css', '" />\n <link rel="stylesheet" type="text/css" media="all" href="', '/static/css/style_addition.css', '" />\n' ' <link rel="icon" href="/favicon.ico" type="image/x-icon">\n' ' <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">\n' ' <!-- Fancybox -->\n' ' <script type="text/javascript" ' 'src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>\n' ' <link href="', '/static/fancybox/jquery.fancybox-1.3.4.css', '" media="screen" rel="stylesheet" type="text/css" />\n' ' <script type="text/javascript" src="', '/static/fancybox/jquery.fancybox-1.3.4.js', '"></script>\n <script type="text/javascript" src="', '/static/fancybox/jquery.easing-1.3.pack.js', '"></script>\n <script type="text/javascript" src="', '/static/fancybox/jquery.mousewheel-3.0.4.pack.js', '"></script>\n' ' <script type="text/javascript">\n' ' $(document).ready(function() {\n' ' $("a.large").fancybox();\n' ' $("a.gallery").fancybox({\n' ' "padding" : 20, // отступ контента от краев окна\n' ' "imageScale" : false, // Принимает значение true - ' 'контент(изображения) масштабируется по размеру окна, или false - окно ' 'вытягивается по размеру контента. По умолчанию - TRUE\n' ' "zoomOpacity" : false, // изменение прозрачности контента ' 'во время анимации (по умолчанию false)\n' ' "zoomSpeedIn" : 1000, // скорость анимации в мс при ' 'увеличении фото (по умолчанию 0)\n' ' "zoomSpeedOut" : 1000, // скорость анимации в мс при ' 'уменьшении фото (по умолчанию 0)\n' ' "zoomSpeedChange" : 1000, // скорость анимации в мс при ' 'смене фото (по умолчанию 0)\n' ' "frameWidth" : 700, // ширина окна, px (425px - по ' 'умолчанию)\n' ' "frameHeight" : 600, // высота окна, px(355px - по ' 'умолчанию)\n' ' "overlayShow" : true, // если true затеняят страницу под ' 'всплывающим окном. (по умолчанию true). Цвет задается в jquery.fancybox.css ' '- div#fancy_overlay \n' ' "overlayOpacity" : 0.8, // Прозрачность затенения (0.3 по ' 'умолчанию)\n' ' "hideOnContentClick" :false, // Если TRUE закрывает окно по ' 'клику по любой его точке (кроме элементов навигации). Поумолчанию TRUE \n' ' "centerOnScroll" : false // Если TRUE окно центрируется на ' 'экране, когда пользователь прокручивает страницу \n' ' });\n' ' });\n' ' </script>\n' '</head>\n' '<body', '', '>\n\n<div id="body">\n\n <!-- Шапка сайта -->\n <div id="header"', '', '>\n\n ', '\n' '\n' ' <div class="header">\n' ' \n' ' <!-- логотип -->\n' ' <div id="logo">\n' ' \n' ' <a href="/"><img src="/static/img/logotip2.png" width="175" ' 'height="204" alt="" /></a>\n' ' \n' ' </div>\n' ' </div>\n' '\n' ' ', '\n' '\n' ' </div> \n' ' <!-- конец шапки -->\n' '\n' ' <!-- верхнее меню -->\n' ' <div id="topmenu"', '', '>\n ', '', '\n <ul>\n <li ', '', '><a href="/">Главная</a></li>\n <li ', '', '><a href="/names/">Имена</a></li>\n <li ', '', '><a href="/orgs/">Общественные объединения</a></li>\n <li ', '', '><a href="/projects/">Проекты</a></li>\n <li ', '', '><a href="/istoriku_… <trimmed 11939 bytes string> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
node | <IfNode> |
self | [<django.template.defaulttags.LoadNode object at 0x7f9d36a545e0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7f9d36a543d0>, <TextNode: '\n<!DOCTYPE html PUBLIC "-'>, <IfNode>, <TextNode: '</title>\n <meta name="'>, <Variable Node: page_title>, <TextNode: '" />\n <meta name="yand'>, <django.templatetags.static.StaticNode object at 0x7f9d36a54580>, <TextNode: '" />\n <link rel="style'>, <django.templatetags.static.StaticNode object at 0x7f9d36a54b50>, <TextNode: '" />\n <link rel="icon"'>, <django.templatetags.static.StaticNode object at 0x7f9d36a54730>, <TextNode: '" media="screen" rel="sty'>, <django.templatetags.static.StaticNode object at 0x7f9d366c5e80>, <TextNode: '"></script>\n <script t'>, <django.templatetags.static.StaticNode object at 0x7f9d369f8100>, <TextNode: '"></script>\n <script t'>, <django.templatetags.static.StaticNode object at 0x7f9d369f8e80>, <TextNode: '"></script>\n <script t'>, <IfNode>, <TextNode: '>\n\n<div id="body">\n\n <'>, <IfNode>, <TextNode: '>\n\n '>, <IfNode>, <TextNode: '\n\n </div> \n <!-- к'>, <IfNode>, <TextNode: '>\n '>, <IfNode>, <TextNode: '\n <ul>\n '>, <IfNode>, <TextNode: '><a href="/">Главная</a><'>, <IfNode>, <TextNode: '><a href="/names/">Имена<'>, <IfNode>, <TextNode: '><a href="/orgs/">Обществ'>, <IfNode>, <TextNode: '><a href="/projects/">Про'>, <IfNode>, <TextNode: '><a href="/istoriku_kraev'>, <IfNode>, <TextNode: '><a href="/documents/">До'>, <IfNode>, <TextNode: '><a href="/gallery/">Гале'>, <django.template.defaulttags.CommentNode object at 0x7f9d367a1550>, <TextNode: '\n <li '>, <IfNode>, <TextNode: '><a href="/istorii_poiska'>, <IfNode>, <TextNode: '><a href="/about/">О нас<'>, <django.template.defaulttags.CsrfTokenNode object at 0x7f9d3703f6d0>, <TextNode: '\n <input class'>, <django.template.library.InclusionNode object at 0x7f9d3703f640>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n \n '>, <IfNode>, <TextNode: '\n '>, <django.template.defaulttags.CommentNode object at 0x7f9d36bb9c40>, <TextNode: '\n</div>\n</div>\n\n <!-- '>, <IfNode>, <TextNode: '><a href="/">Главная</a><'>, <IfNode>, <TextNode: '><a href="/names/">Имена<'>, <IfNode>, <TextNode: '><a href="/orgs/">Обществ'>, <IfNode>, <TextNode: '><a href="/projects/">Про'>, <IfNode>, <TextNode: '><a href="/heroes/">Герои'>, <IfNode>, <TextNode: '><a href="/documents/">До'>, <IfNode>, <TextNode: '><a href="/gallery/">Гале'>, <django.template.defaulttags.CommentNode object at 0x7f9d35faeca0>, <TextNode: '\n '>, <IfNode>, <TextNode: '><a href="/about/">О нас<'>, <django.template.defaulttags.NowNode object at 0x7f9d35faef10>, <TextNode: '</span> \n '>, <django.templatetags.static.StaticNode object at 0x7f9d35fae100>, <TextNode: '" width="60" height="68" '>, <django.template.defaulttags.CommentNode object at 0x7f9d368bfa60>, <TextNode: '\n '>] |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
self | <IfNode> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/defaulttags.py
, line 312, in render
match = condition.eval(context)
except VariableDoesNotExist:
match = None
else: # else clause
match = True
if match:
return nodelist.render(context)…
return ''
class LoremNode(Node):
def __init__(self, count, method, common):
Variable | Value |
---|---|
condition | None |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
match | True |
nodelist | [<TextNode: '\n\n '>, <Variable Node: page_title>, <TextNode: '</h1>\n '>, <Block Node: content. Contents: [<TextNode: '\n '>]>, <TextNode: '\n \n '>] |
self | <IfNode> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | ('</h1>\n' ' \n' ' ') |
bits | ['\n\n <h1>', 'Галерея', '</h1>\n' ' \n' ' '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
node | <Block Node: content. Contents: [<TextNode: '\n '>]> |
self | [<TextNode: '\n\n '>, <Variable Node: page_title>, <TextNode: '</h1>\n '>, <Block Node: content. Contents: [<TextNode: '\n '>]>, <TextNode: '\n \n '>] |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
self | <Block Node: content. Contents: [<TextNode: '\n '>]> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/loader_tags.py
, line 62, 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 <style>\n .gallery'>, <Variable Node: category>, <TextNode: '</b></div>\n <br />\n '>, <IfNode>, <TextNode: '\n\n <div>\n <ul class'>, <ForNode: for item in gallery_image_items, tail_len: 11>, <TextNode: '\n </ul>\n <div style'>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f9d367b8490> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
push | <Block Node: content. Contents: [<TextNode: '\n <style>\n .gallery'>, <Variable Node: category>, <TextNode: '</b></div>\n <br />\n '>, <IfNode>, <TextNode: '\n\n <div>\n <ul class'>, <ForNode: for item in gallery_image_items, tail_len: 11>, <TextNode: '\n </ul>\n <div style'>]> |
self | <Block Node: content. Contents: [<TextNode: '\n '>]> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n\n <div>\n <ul class="gallery-block">\n ' |
bits | ['\n' ' <style>\n' ' .gallery-block {\n' ' list-style: none;\n' ' overflow: hidden;\n' ' }\n' ' .gallery-block li {\n' ' float: left;\n' ' width: 220px; \n' ' height: 210px;\n' ' }\n' ' </style>\n' '\n' ' <div><b>', 'Партизаны и подпольщики Краснодарского края', '</b></div>\n <br />\n ', 'Партизаны и подпольщики Щербиновского района<br /><br />', '\n\n <div>\n <ul class="gallery-block">\n '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
node | <ForNode: for item in gallery_image_items, tail_len: 11> |
self | [<TextNode: '\n <style>\n .gallery'>, <Variable Node: category>, <TextNode: '</b></div>\n <br />\n '>, <IfNode>, <TextNode: '\n\n <div>\n <ul class'>, <ForNode: for item in gallery_image_items, tail_len: 11>, <TextNode: '\n </ul>\n <div style'>] |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
self | <ForNode: for item in gallery_image_items, tail_len: 11> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/defaulttags.py
, line 211, in render
unpacked_vars = dict(zip(self.loopvars, item))
pop_context = True
context.update(unpacked_vars)
else:
context[self.loopvars[0]] = item
for node in self.nodelist_loop:
nodelist.append(node.render_annotated(context))…
if pop_context:
# Pop the loop variables pushed on to the context to avoid
# the context ending up in an inconsistent state when other
# tags (e.g., include and with) push data to context.
context.pop()
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
i | 0 |
item | <GalleryImageItem: 2502> |
len_values | 21 |
loop_dict | {'counter': 1, 'counter0': 0, 'first': True, 'last': False, 'parentloop': {}, 'revcounter': 21, 'revcounter0': 20} |
node | <Variable Node: item.image_preview.url> |
nodelist | ['\n <li>\n ', '<a href="/media/upload/gallery/2019/02/07/anistratenko.jpg" class="gallery" ' 'rel="group_1">', '\n <img src="'] |
num_loopvars | 1 |
parentloop | {} |
pop_context | False |
self | <ForNode: for item in gallery_image_items, tail_len: 11> |
unpack | False |
values | <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
self | <Variable Node: item.image_preview.url> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 988, in render
self.filter_expression = filter_expression
def __repr__(self):
return "<Variable Node: %s>" % self.filter_expression
def render(self, context):
try:
output = self.filter_expression.resolve(context)…
except UnicodeDecodeError:
# Unicode conversion can fail sometimes for reasons out of our
# control (e.g. exception rendering). In that case, we fail
# quietly.
return ''
return render_value_in_context(output, context)
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
self | <Variable Node: item.image_preview.url> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 671, 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, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
ignore_failures | False |
self | <django.template.base.FilterExpression object at 0x7f9d367c5400> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 796, 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, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
self | <Variable: 'item.image_preview.url'> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/template/base.py
, line 837, 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 | 'url' |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': 'Партизаны и подпольщики Краснодарского края', 'gallery_item': <GalleryItem: Партизаны и подпольщики Щербиновского района>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 2502>, <GalleryImageItem: 2503>, <GalleryImageItem: 2504>, <GalleryImageItem: 2505>, <GalleryImageItem: 2506>, <GalleryImageItem: 2507>, <GalleryImageItem: 2508>, <GalleryImageItem: 2509>, <GalleryImageItem: 2510>, <GalleryImageItem: 2511>, <GalleryImageItem: 2512>, <GalleryImageItem: 2513>, <GalleryImageItem: 2514>, <GalleryImageItem: 2515>, <GalleryImageItem: 2516>, <GalleryImageItem: 2517>, <GalleryImageItem: 2518>, <GalleryImageItem: 2519>, <GalleryImageItem: 2520>, <GalleryImageItem: 2521>, '...(remaining elements truncated)...']>}] |
current | <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg> |
self | <Variable: 'item.image_preview.url'> |
template_name | 'gallery/item_gallery.html' |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/imagekit/cachefiles/__init__.py
, line 85, in url
@property
def path(self):
return self._storage_attr('path')
@property
def url(self):
return self._storage_attr('url')…
def generate(self, force=False):
"""
Generate the file. If ``force`` is ``True``, the file will be generated
whether the file already exists or not.
Variable | Value |
---|---|
self | <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/imagekit/cachefiles/__init__.py
, line 75, in _storage_attr
# require the file to exist; they do not need its contents to work. This
# distinction gives the user the flexibility to create a cache file
# strategy that assumes the existence of a file, but can still make the file
# available when its contents are required.
def _storage_attr(self, attr):
if getattr(self, '_file', None) is None:
existence_required.send(sender=self, file=self)…
fn = getattr(self.storage, attr)
return fn(self.name)
@property
def path(self):
return self._storage_attr('path')
Variable | Value |
---|---|
attr | 'url' |
self | <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/dispatch/dispatcher.py
, line 180, in send
Named arguments which will be passed to receivers.
Return a list of tuple pairs [(receiver, response), ... ].
"""
if not self.receivers or self.sender_receivers_cache.get(sender) is NO_RECEIVERS:
return []
return […
(receiver, receiver(signal=self, sender=sender, **named))
for receiver in self._live_receivers(sender)
]
def send_robust(self, sender, **named):
"""
Variable | Value |
---|---|
named | {'file': <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg>} |
self | <django.dispatch.dispatcher.Signal object at 0x7f9d39a904c0> |
sender | <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/dispatch/dispatcher.py
, line 181, in <listcomp>
Return a list of tuple pairs [(receiver, response), ... ].
"""
if not self.receivers or self.sender_receivers_cache.get(sender) is NO_RECEIVERS:
return []
return [
(receiver, receiver(signal=self, sender=sender, **named))…
for receiver in self._live_receivers(sender)
]
def send_robust(self, sender, **named):
"""
Send signal from sender to all connected receivers catching errors.
Variable | Value |
---|---|
.0 | <list_iterator object at 0x7f9d3689d970> |
named | {'file': <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg>} |
receiver | <bound method GeneratorRegistry.existence_required_receiver of <imagekit.registry.GeneratorRegistry object at 0x7f9d39a7e6a0>> |
self | <django.dispatch.dispatcher.Signal object at 0x7f9d39a904c0> |
sender | <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/imagekit/registry.py
, line 53, in existence_required_receiver
autodiscover()
return self._generators.keys()
def content_required_receiver(self, sender, file, **kwargs):
self._receive(file, 'on_content_required')
def existence_required_receiver(self, sender, file, **kwargs):
self._receive(file, 'on_existence_required')…
def _receive(self, file, callback):
generator = file.generator
# FIXME: I guess this means you can't register functions?
if generator.__class__ in self._generators.values():
Variable | Value |
---|---|
file | <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg> |
kwargs | {'signal': <django.dispatch.dispatcher.Signal object at 0x7f9d39a904c0>} |
self | <imagekit.registry.GeneratorRegistry object at 0x7f9d39a7e6a0> |
sender | <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/imagekit/registry.py
, line 61, in _receive
def _receive(self, file, callback):
generator = file.generator
# FIXME: I guess this means you can't register functions?
if generator.__class__ in self._generators.values():
# Only invoke the strategy method for registered generators.
call_strategy_method(file, callback)…
class SourceGroupRegistry(object):
"""
The source group registry is responsible for listening to source_* signals
on source groups, and relaying them to the image generated file strategies
Variable | Value |
---|---|
callback | 'on_existence_required' |
file | <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg> |
generator | <imagekit.specs.DynamicSpec object at 0x7f9d3689d160> |
self | <imagekit.registry.GeneratorRegistry object at 0x7f9d39a7e6a0> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/imagekit/utils.py
, line 166, in call_strategy_method
return f
def call_strategy_method(file, method_name):
strategy = getattr(file, 'cachefile_strategy', None)
fn = getattr(strategy, method_name, None)
if fn is not None:
fn(file)…
def get_cache():
try:
from django.core.cache import caches
except ImportError:
Variable | Value |
---|---|
file | <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg> |
fn | <bound method JustInTime.on_existence_required of <imagekit.cachefiles.strategies.JustInTime object at 0x7f9d3701bdc0>> |
method_name | 'on_existence_required' |
strategy | <imagekit.cachefiles.strategies.JustInTime object at 0x7f9d3701bdc0> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/imagekit/cachefiles/strategies.py
, line 15, in on_existence_required
class JustInTime(object):
"""
A strategy that ensures the file exists right before it's needed.
"""
def on_existence_required(self, file):
file.generate()…
def on_content_required(self, file):
file.generate()
class Optimistic(object):
Variable | Value |
---|---|
file | <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg> |
self | <imagekit.cachefiles.strategies.JustInTime object at 0x7f9d3701bdc0> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/imagekit/cachefiles/__init__.py
, line 94, in generate
def generate(self, force=False):
"""
Generate the file. If ``force`` is ``True``, the file will be generated
whether the file already exists or not.
"""
if force or getattr(self, '_file', None) is None:
self.cachefile_backend.generate(self, force)…
def _generate(self):
# Generate the file
content = generate(self.generator)
actual_name = self.storage.save(self.name, content)
Variable | Value |
---|---|
force | False |
self | <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/imagekit/cachefiles/backends.py
, line 109, in generate
"""
The most basic file backend. The storage is consulted to see if the file
exists. Files are generated synchronously.
"""
def generate(self, file, force=False):
self.generate_now(file, force=force)…
def _exists(self, file):
return bool(getattr(file, '_file', None)
or (file.name and file.storage.exists(file.name)))
Variable | Value |
---|---|
file | <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg> |
force | False |
self | <imagekit.cachefiles.backends.Simple object at 0x7f9d3701bfd0> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/imagekit/cachefiles/backends.py
, line 96, in generate_now
def generate(self, file, force=False):
raise NotImplementedError
def generate_now(self, file, force=False):
if force or self.get_state(file) not in (CacheFileState.GENERATING, CacheFileState.EXISTS):
self.set_state(file, CacheFileState.GENERATING)
file._generate()…
self.set_state(file, CacheFileState.EXISTS)
file.close()
class Simple(CachedFileBackend):
"""
Variable | Value |
---|---|
file | <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg> |
force | False |
self | <imagekit.cachefiles.backends.Simple object at 0x7f9d3701bfd0> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/imagekit/cachefiles/__init__.py
, line 98, in _generate
"""
if force or getattr(self, '_file', None) is None:
self.cachefile_backend.generate(self, force)
def _generate(self):
# Generate the file
content = generate(self.generator)…
actual_name = self.storage.save(self.name, content)
# We're going to reuse the generated file, so we need to reset the pointer.
content.seek(0)
Variable | Value |
---|---|
self | <ImageCacheFile: CACHE/images/upload/gallery/2019/02/07/anistratenko/5c107165daada3ec084fad95bf984175.jpg> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/imagekit/utils.py
, line 152, in generate
def generate(generator):
"""
Calls the ``generate()`` method of a generator instance, and then wraps the
result in a Django File object so Django knows how to save it.
"""
content = generator.generate()…
f = File(content)
# The size of the File must be known or Django will try to open a file
# without a name and raise an Exception.
f.size = len(content.read())
# After getting the size reset the file pointer for future reads.
content.seek(0)
Variable | Value |
---|---|
generator | <imagekit.specs.DynamicSpec object at 0x7f9d3689d160> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/imagekit/specs/__init__.py
, line 153, in generate
# TODO: Move into a generator base class
# TODO: Factor out a generate_image function so you can create a generator and only override the PIL.Image creating part. (The tricky part is how to deal with original_format since generator base class won't have one.)
closed = self.source.closed
if closed:
# Django file object should know how to reopen itself if it was closed
# https://code.djangoproject.com/ticket/13750
self.source.open()…
try:
img = open_image(self.source)
new_image = process_image(img,
processors=self.processors,
format=self.format,
Variable | Value |
---|---|
closed | True |
self | <imagekit.specs.DynamicSpec object at 0x7f9d3689d160> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/db/models/fields/files.py
, line 76, in open
if not self._committed:
return self.file.size
return self.storage.size(self.name)
def open(self, mode='rb'):
self._require_file()
if getattr(self, '_file', None) is None:
self.file = self.storage.open(self.name, mode)…
else:
self.file.open(mode)
return self
# open() doesn't alter the file's contents, but it does reset the pointer
open.alters_data = True
Variable | Value |
---|---|
mode | 'rb' |
self | <ResizedImageFieldFile: upload/gallery/2019/02/07/anistratenko.jpg> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/core/files/storage.py
, line 38, in open
"""
# The following methods represent a public interface to private methods.
# These shouldn't be overridden by subclasses unless absolutely necessary.
def open(self, name, mode='rb'):
"""Retrieve the specified file from storage."""
return self._open(name, mode)…
def save(self, name, content, max_length=None):
"""
Save new content to the file specified by name. The content should be
a proper File object or any Python file-like object, ready to be read
from the beginning.
Variable | Value |
---|---|
mode | 'rb' |
name | 'upload/gallery/2019/02/07/anistratenko.jpg' |
self | <django.core.files.storage.FileSystemStorage object at 0x7f9d37068820> |
/home/users/k/kubpoisk/domains/kubpoisk.ru/venv39/lib/python3.9/site-packages/django/core/files/storage.py
, line 238, in _open
return self._value_or_setting(self._file_permissions_mode, settings.FILE_UPLOAD_PERMISSIONS)
@cached_property
def directory_permissions_mode(self):
return self._value_or_setting(self._directory_permissions_mode, settings.FILE_UPLOAD_DIRECTORY_PERMISSIONS)
def _open(self, name, mode='rb'):
return File(open(self.path(name), mode))…
def _save(self, name, content):
full_path = self.path(name)
# Create any intermediate directories that do not exist.
directory = os.path.dirname(full_path)
Variable | Value |
---|---|
mode | 'rb' |
name | 'upload/gallery/2019/02/07/anistratenko.jpg' |
self | <django.core.files.storage.FileSystemStorage object at 0x7f9d37068820> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CSRF_COOKIE | 'vsQPLYQf7CV5dIwtUBijSXXeKxQS1xdLFsZVmr0kwFmMyfzz7wz2UTL9RjDSuzyB' |
CSRF_COOKIE_USED | True |
HTTPS | 'on' |
HTTP_ACCEPT | '*/*' |
HTTP_HOST | 'kubpoisk.ru' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '18.119.125.135' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_FORWARDED_PROTOCOL | 'https' |
HTTP_X_PROTOCOL | 'HTTP/2.0' |
HTTP_X_SERVER_IP | '217.107.219.53' |
PASSENGER_CONNECT_PASSWORD | '********************' |
PATH | '/opt/alt/python39/bin:/usr/bin' |
PATH_INFO | '/gallery/207/' |
QUERY_STRING | '' |
REMOTE_ADDR | '18.119.125.135' |
REMOTE_PORT | '57298' |
REQUEST_METHOD | 'GET' |
REQUEST_URI | '/gallery/207/' |
SCRIPT_NAME | '' |
SERVER_NAME | 'kubpoisk.ru' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.1' |
SERVER_SOFTWARE | 'Apache/2.4.37 (CloudLinux) Phusion_Passenger/6.0.20' |
downgrade-1.0 | '' |
passenger.hijack | '********************' |
suppress-error-charset | '' |
wsgi.errors | <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'> |
wsgi.input | <_io.BufferedReader name=9> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
project.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['kubpoisk.ru', 'kubpatriot.ru'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | PosixPath('/home/users/k/kubpoisk/domains/kubpoisk.ru/kubpoisk3') |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CKEDITOR_CONFIGS | {'awesome_ckeditor': {'height': 300, 'skin': 'moono', 'tabSpaces': 4, 'toolbar': 'Basic', 'toolbarCanCollapse': True, 'toolbar_Basic': [['Bold', 'Italic', 'Underline'], ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'], ['Link', 'Unlink'], ['RemoveFormat', 'Source']], 'width': '100%'}, 'editor_filemanager': {'allowedContent': True, 'extraPlugins': 'div,autolink,autoembed,embedsemantic,autogrow,widget,lineutils,clipboard,dialog,dialogui,elementspath', 'filebrowserWindowHeight': 725, 'filebrowserWindowWidth': 940, 'height': 300, 'skin': 'moono', 'tabSpaces': 4, 'toolbar': 'YouCustomToolbarConfig', 'toolbarCanCollapse': True, 'toolbar_YouCustomToolbarConfig': [{'items': ['Source', '-', 'Save', 'NewPage', 'Preview', 'Print', '-', 'Templates'], 'name': 'document'}, {'items': ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo'], 'name': 'clipboard'}, {'items': ['Find', 'Replace', '-', 'SelectAll'], 'name': 'editing'}, {'items': ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat'], 'name': 'basicstyles'}, {'items': ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote', 'CreateDiv', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', '-', 'Language'], 'name': 'paragraph'}, {'items': ['Link', 'Unlink', 'Anchor'], 'name': 'links'}, {'items': ['Image', 'Table', 'HorizontalRule'], 'name': 'insert'}, {'items': ['FontSize'], 'name': 'styles'}, {'items': ['Preview', 'Maximize', 'ShowBlocks'], 'name': 'tools'}], 'width': '100%'}} |
CKEDITOR_IMAGE_BACKEND | 'pillow' |
CKEDITOR_JQUERY_URL | '//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js' |
CKEDITOR_UPLOAD_PATH | 'upload/' |
CKEDITOR_UPLOAD_SLUGIFY_FILENAME | False |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'postgresql.kubpoisk.myjino.ru', 'NAME': 'kubpoisk', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'kubpoisk'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_AUTO_FIELD | 'django.db.models.BigAutoField' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | '' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.filebased.EmailBackend' |
EMAIL_FILE_PATH | '/home/users/k/kubpoisk/domains/kubpoisk.ru/kubpoisk3/public_html/mails/' |
EMAIL_HOST | '' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | '' |
EMAIL_PORT | 25 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_TO | 'x79183603279@gmail.com' |
EMAIL_TO_CC | '' |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | False |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
IGNORABLE_404_URLS | [] |
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', 'django.contrib.sites', 'django.contrib.flatpages', 'imagekit', 'ckeditor', 'ckeditor_uploader', 'nested_inline', 'pytils', 'apps.generic', 'apps.news', 'apps.gallery', 'apps.documents', 'apps.names', 'apps.projects', 'apps.interviews', 'apps.wanted', 'apps.useful_links', 'apps.banners', 'apps.slider', 'apps.pages', 'apps.memory_book', 'apps.letters'] |
INTERNAL_IPS | [] |
JIVOSITE_CODE | '' |
LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz', 'Algerian Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('ig', 'Igbo'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tg', 'Tajik'), ('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'ru-RU' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | [] |
LOGGING | {'disable_existing_loggers': False, 'handlers': {'file': {'class': 'logging.FileHandler', 'filename': '/home/users/k/kubpoisk/domains/kubpoisk.ru/kubpoisk3/public_html/debug.log', 'level': 'DEBUG'}}, 'loggers': {'django': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': False}}, 'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '/home/users/k/kubpoisk/domains/kubpoisk.ru/media/' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
METRIKA_CODE | '' |
METRIKA_INFORMER | '' |
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', 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
PROJECT_APPS | ['apps.generic', 'apps.news', 'apps.gallery', 'apps.documents', 'apps.names', 'apps.projects', 'apps.interviews', 'apps.wanted', 'apps.useful_links', 'apps.banners', 'apps.slider', 'apps.pages', 'apps.memory_book', 'apps.letters'] |
RECAPTCHA_PUBLIC | '' |
RECAPTCHA_SECRET | '********************' |
RECAPTCHA_VERIFYURL | 'https://www.google.com/recaptcha/api/siteverify' |
ROOT_URLCONF | 'project.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'project.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SITE_ID | 1 |
STATICFILES_DIRS | ['/home/users/k/kubpoisk/domains/kubpoisk.ru/kubpoisk3/static'] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/home/users/k/kubpoisk/domains/kubpoisk.ru/static/' |
STATIC_URL | '/static/' |
SYSTEM_APPS | ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sites', 'django.contrib.flatpages', 'imagekit', 'ckeditor', 'ckeditor_uploader', 'nested_inline', 'pytils'] |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/home/users/k/kubpoisk/domains/kubpoisk.ru/kubpoisk3/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' |
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 | 'project.wsgi.application' |
X_FRAME_OPTIONS | 'DENY' |
YEAR_MONTH_FORMAT | 'F Y' |
You’re seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard page generated by the handler for this status code.