[Errno 2] No such file or directory: '/home/users/k/kubpoisk/domains/kubpoisk.ru/media/upload/gallery/2021/04/06/1ypeoJGVRpk.jpg'
Request Method: | GET |
---|---|
Request URL: | http://kubpatriot.ru/gallery/482/ |
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/2021/04/06/1ypeoJGVRpk.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:53:19 +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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
current | <ImageCacheFile: CACHE/images/upload/gallery/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.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 0x7f893d379ac0>> |
request | <WSGIRequest: GET '/gallery/482/'> |
/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 0x7f893d23ca60> |
callback_args | () |
callback_kwargs | {'gallery_id': '482'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f893d36f490>> |
request | <WSGIRequest: GET '/gallery/482/'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f893d379ac0> |
wrapped_callback | <function item_gallery at 0x7f893d23ca60> |
/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 | '482' |
gallery_image_list | <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]> |
gallery_item | <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара> |
request | <WSGIRequest: GET '/gallery/482/'> |
/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': '2021', 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>, 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'page_title': 'Галерея'} |
request | <WSGIRequest: GET '/gallery/482/'> |
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': '2021', 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>, 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'page_title': 'Галерея'} |
request | <WSGIRequest: GET '/gallery/482/'> |
template | <django.template.backends.django.Template object at 0x7f893ccc61c0> |
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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
request | <WSGIRequest: GET '/gallery/482/'> |
self | <django.template.backends.django.Template object at 0x7f893ccc61c0> |
/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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
self | <django.template.base.Template object at 0x7f893caa1ac0> |
/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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
self | <django.template.base.Template object at 0x7f893caa1ac0> |
/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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
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 0x7f893cc87f70> |
blocks | {'content': <Block Node: content. Contents: [<TextNode: '\n '>]>} |
compiled_parent | <django.template.base.Template object at 0x7f893caa1b50> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
node | <django.template.defaulttags.LoadNode object at 0x7f893c902190> |
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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
self | <django.template.base.Template object at 0x7f893caa1b50> |
/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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
node | <IfNode> |
self | [<django.template.defaulttags.LoadNode object at 0x7f893c902190>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7f893c9029a0>, <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 0x7f893c902af0>, <TextNode: '" />\n <link rel="style'>, <django.templatetags.static.StaticNode object at 0x7f893c902520>, <TextNode: '" />\n <link rel="icon"'>, <django.templatetags.static.StaticNode object at 0x7f893c902970>, <TextNode: '" media="screen" rel="sty'>, <django.templatetags.static.StaticNode object at 0x7f893c902070>, <TextNode: '"></script>\n <script t'>, <django.templatetags.static.StaticNode object at 0x7f893c8df2b0>, <TextNode: '"></script>\n <script t'>, <django.templatetags.static.StaticNode object at 0x7f893c8df4c0>, <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 0x7f893cbf32e0>, <TextNode: '\n <li '>, <IfNode>, <TextNode: '><a href="/istorii_poiska'>, <IfNode>, <TextNode: '><a href="/about/">О нас<'>, <django.template.defaulttags.CsrfTokenNode object at 0x7f893c8be850>, <TextNode: '\n <input class'>, <django.template.library.InclusionNode object at 0x7f893c8bee20>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n \n '>, <IfNode>, <TextNode: '\n '>, <django.template.defaulttags.CommentNode object at 0x7f893c7bf430>, <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 0x7f893c7d37f0>, <TextNode: '\n '>, <IfNode>, <TextNode: '><a href="/about/">О нас<'>, <django.template.defaulttags.NowNode object at 0x7f893c7d3b20>, <TextNode: '</span> \n '>, <django.templatetags.static.StaticNode object at 0x7f893c7d3f70>, <TextNode: '" width="60" height="68" '>, <django.template.defaulttags.CommentNode object at 0x7f893c7d3dc0>, <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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
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 0x7f893cc87f70> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'page_title': 'Галерея', 'category': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
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>', '2021', '</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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
i | 0 |
item | <GalleryImageItem: 6217> |
len_values | 4 |
loop_dict | {'counter': 1, 'counter0': 0, 'first': True, 'last': False, 'parentloop': {}, 'revcounter': 4, 'revcounter0': 3} |
node | <Variable Node: item.image_preview.url> |
nodelist | ['\n <li>\n ', '<a href="/media/upload/gallery/2021/04/06/1ypeoJGVRpk.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: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]> |
/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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
ignore_failures | False |
self | <django.template.base.FilterExpression object at 0x7f893cd70b20> |
/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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
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': '2021', 'gallery_item': <GalleryItem: Кубанскими поисковиками обнаружены останки защитника Краснодара>, 'gallery_image_items': <QuerySet [<GalleryImageItem: 6217>, <GalleryImageItem: 6218>, <GalleryImageItem: 6219>, <GalleryImageItem: 6220>]>}] |
current | <ImageCacheFile: CACHE/images/upload/gallery/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.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/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.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/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.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/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.jpg>} |
self | <django.dispatch.dispatcher.Signal object at 0x7f893fc50490> |
sender | <ImageCacheFile: CACHE/images/upload/gallery/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.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 0x7f893cd88070> |
named | {'file': <ImageCacheFile: CACHE/images/upload/gallery/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.jpg>} |
receiver | <bound method GeneratorRegistry.existence_required_receiver of <imagekit.registry.GeneratorRegistry object at 0x7f893fc3e670>> |
self | <django.dispatch.dispatcher.Signal object at 0x7f893fc50490> |
sender | <ImageCacheFile: CACHE/images/upload/gallery/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.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/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.jpg> |
kwargs | {'signal': <django.dispatch.dispatcher.Signal object at 0x7f893fc50490>} |
self | <imagekit.registry.GeneratorRegistry object at 0x7f893fc3e670> |
sender | <ImageCacheFile: CACHE/images/upload/gallery/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.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/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.jpg> |
generator | <imagekit.specs.DynamicSpec object at 0x7f893cc3af10> |
self | <imagekit.registry.GeneratorRegistry object at 0x7f893fc3e670> |
/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/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.jpg> |
fn | <bound method JustInTime.on_existence_required of <imagekit.cachefiles.strategies.JustInTime object at 0x7f893cd77d30>> |
method_name | 'on_existence_required' |
strategy | <imagekit.cachefiles.strategies.JustInTime object at 0x7f893cd77d30> |
/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/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.jpg> |
self | <imagekit.cachefiles.strategies.JustInTime object at 0x7f893cd77d30> |
/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/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.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/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.jpg> |
force | False |
self | <imagekit.cachefiles.backends.Simple object at 0x7f893cd77730> |
/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/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.jpg> |
force | False |
self | <imagekit.cachefiles.backends.Simple object at 0x7f893cd77730> |
/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/2021/04/06/1ypeoJGVRpk/96ec16e195d1148836dad84edfe3abe7.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 0x7f893cc3af10> |
/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 0x7f893cc3af10> |
/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/2021/04/06/1ypeoJGVRpk.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/2021/04/06/1ypeoJGVRpk.jpg' |
self | <django.core.files.storage.FileSystemStorage object at 0x7f893cd69b50> |
/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/2021/04/06/1ypeoJGVRpk.jpg' |
self | <django.core.files.storage.FileSystemStorage object at 0x7f893cd69b50> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CSRF_COOKIE | '8xZEOujTKHpQ1Iz6TQkr6jfMyElCErGnbyKkOps6Rvg68WVt17WmGjb6TmTPnYVD' |
CSRF_COOKIE_USED | True |
HTTP_ACCEPT | '*/*' |
HTTP_HOST | 'kubpatriot.ru' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '18.117.158.47' |
HTTP_X_FORWARDED_PROTO | 'http' |
HTTP_X_FORWARDED_PROTOCOL | 'http' |
HTTP_X_PROTOCOL | 'HTTP/1.1' |
HTTP_X_SERVER_IP | '217.107.219.53' |
PASSENGER_CONNECT_PASSWORD | '********************' |
PATH | '/opt/alt/python39/bin:/usr/bin' |
PATH_INFO | '/gallery/482/' |
QUERY_STRING | '' |
REMOTE_ADDR | '18.117.158.47' |
REMOTE_PORT | '34634' |
REQUEST_METHOD | 'GET' |
REQUEST_URI | '/gallery/482/' |
SCRIPT_NAME | '' |
SERVER_NAME | 'kubpatriot.ru' |
SERVER_PORT | '80' |
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=13> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
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.