#templates #overriding #customization #styling #wagtail
Вопрос:
В данный момент я создаю администратора Wagtail, и у меня есть модель страницы, которая в администраторе отображает несколько вложенных форм модели с помощью встроенных панелей, позволяющих добавлять контент пользователем. Из-за жестких шаблонов Wagtail некоторые из моих имен verbose_names для полей во вложенных моделях отключаются в пользовательском интерфейсе.
Таким образом, я пытаюсь переопределить стиль в шаблонах, чтобы имена verbose_names больше не были обрезаны. Вот оно, отсечение:
До сих пор я шел по пути использования крючков трясогузки, в частности insert_global_admin_css
крючка, но браузер возвращает 404 и не может найти файл. Я не могу понять, где разместить файл в кодовой базе для Wagtail, чтобы забрать его и переопределить стиль по умолчанию!
Моя реализация крючка:
@hooks.register('insert_global_admin_css', order=100)
def global_admin_css():
return format_html(
'<link rel="stylesheet" type="text/css" href="{}">',
static('css/admin.css')
)
И ошибка возвращается в браузере:
Помогите! ТИА
Ответ №1:
Вы не показываете нам свою реализацию insert_global_admin_css
крючка, но это код, который определяет, куда должен идти ваш новый CSS-файл!
Пример с одного из моих сайтов о трясогузках:
@hooks.register("insert_global_admin_css", order=100)
def global_admin_css():
"""Add /static/admin_tweaks/wagtail.css."""
return format_html('<link rel="stylesheet" href="{}">', static("admin_tweaks/wagtail.css"))
Комментарии:
1. Я добавил фрагмент, а также скриншот того, что я получаю от Chrome. Я полагаю, что моя проблема больше связана с путем к файлу, чем с чем-либо еще. У меня просто нет достаточно четкого понимания того, как определить путь в моем проекте, чтобы браузер мог его найти.
2. Вы определили путь, когда указывали static («css/admin.css») — это означает, что в том же приложении django, где находится этот код, вам нужен файл в static/css/admin.css. Но путь, который записывается в вашем html, содержит дополнительную пару каталогов, поэтому мне интересно, что-то не так (1) с вашим STATIC_URL в настройках, или, если это встроенный сервер разработки, (2) чего-то не хватает в вашем urls.py для статической обработки файлов.