У меня есть приложение, которое использует Weblate для управления переводами. Я использую образ Docker weblate/weblate с моими собственными настройками, созданными в виде отдельного пакета Python, расширяющего этот образ и построенного поверх него. Проблема в том, что в HTML-шаблонах Weblate есть тег шаблона icon, который должен загружать значки SVG из STATIC_ROOT или CACHE_DIR, но мое приложение работает в бессерверной настройке. и поэтому выгружает все статические ресурсы в корзину S3. Для большинства ресурсов это работает нормально, но из-за логики тегов шаблона значки не загружаются, и я получаю эти сообщения об ошибках -
Код: Выделить всё
weblate-1 | gunicorn stderr | [2025-01-21 12:41:08,913: WARNING/1540] Could not load icon: FileNotFoundError: [Errno 2] No such file or directory: '/app/cache/static/icons/weblate.svg'
weblate-1 | gunicorn stderr | [2025-01-21 12:41:08,918: WARNING/1540] Could not load icon: FileNotFoundError: [Errno 2] No such file or directory: '/app/cache/static/icons/wrench.svg'
weblate-1 | gunicorn stderr | [2025-01-21 12:41:08,919: WARNING/1540] Could not load icon: FileNotFoundError: [Errno 2] No such file or directory: '/app/cache/static/icons/plus.svg'
weblate-1 | gunicorn stderr | [2025-01-21 12:41:08,923: WARNING/1540] Could not load icon: FileNotFoundError: [Errno 2] No such file or directory: '/app/cache/static/icons/dots.svg'
Я написал свой собственный тег шаблона, который поместил в свой собственный модуль weblate_customization/templatetags/icon.py, но он не переопределяет логику загрузки значков Weblate по умолчанию, и я не могу получить доступ к шаблонам по умолчанию в моем коде, если я не исправлю обезьяну. Код тега шаблона значков по умолчанию существует в приложении weblate.utils, которое включено в базовое изображение и загружает все функциональные возможности утилиты, необходимые приложению для работы, поэтому я не могу его просто выбросить. Есть ли способ заставить Django загружать мою собственную версию этого тега шаблона вместо той, которая предоставлена weblate?
Подробнее здесь:
https://stackoverflow.com/questions/793 ... plate-tags