Откуда берутся эти ошибки "не найдено" трясогузки?

Это фрагмент моих HTTP логов из django v3.2 под управлением wagtail. Похоже, что django пытается сказать мне, где находится недостающее медиа, но не может. Поскольку это страница чащи с галерейными суб-изображениями "featured pages", источник вида в браузере не показывает попытку поиска файла изображения, но я предполагаю, что это та же проблема, что и у OP с неправильно настроенным MEDIA_ROOT. Странно, но я не вижу никаких ошибок в связанных изображениях страницы, когда я поднимаю дочернюю страницу в админке wagtail. У кого-нибудь есть идеи, почему отсутствующее изображение не появляется в логах HTTP, или что вызывает подмену "media/not-found" на "настоящий" элемент, вызывающий 404, или как распутать стек ошибок? Я нашел несколько экземпляров "not-found", но только в папке wagtail "site-packages" /lib/python3.8/site-packages/wagtail. Ни один из них не дает мне указаний на то, почему страница (или обычно изображение), вызывающая ошибку 404, не возвращается в журнале HTTP, а только URL "not-found". Я вижу, что изображение отсутствует (часть блока), и на самом деле оно не отсутствует, но, возможно, кэшированная копия страницы вызывает ошибку "not-found"

.
[25/Aug/2021 20:28:53] "GET /static/wagtailadmin/images/bg-dark-diag.svg HTTP/1.0" 200 700

Not Found: /media/not-found [25/Aug/2021 20:29:18] "GET /media/not-found HTTP/1.0" 404 3252```

Когда изображение включается в шаблон - либо с помощью тега {% image %}, либо внутри текстового поля - Wagtail создает уменьшенную версию первоначально загруженного изображения (которое хранится в media/original_images) и сохраняет ее в media/images. URL этого уменьшенного изображения затем используется в теге <img>.

URL-адрес /media/not-found указывает на то, что при изменении размера изображения произошла ошибка, скорее всего, из-за того, что исходное изображение не существует на диске, и поэтому окончательный размер изображения не может быть создан. (Чаще всего это происходит, когда сайт Wagtail переносится с одного сервера на другой, при этом база данных копируется, а изображения в media/original_images - нет). Так делается потому, что в альтернативном случае тег {% image %} может выдать ошибку, что приведет к полному разрыву страницы - предполагается, что страница с одним разбитым изображением лучше, чем вообще без страницы.

Вернуться на верх