Переопределение стиля CMS трясогузки

#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 для статической обработки файлов.