Как изменить логотип администратора django wagtail

Я работаю над небольшим проектом и решил попробовать wagtail. Теперь мне интересно, как я могу изменить логотип администратора трясогузки на боковой панели (верхнее левое изображение на картинке ниже).

GitHub изображение трясогузки

Я мог бы изменить /static/wagtailadmin/images/wagtail-logo.svg напрямую, но это было бы неправильно ;).


person GabLeRoux    schedule 02.07.2014    source источник


Ответы (2)


Трясогузка уже предоставила решение в официальной документации, используя django-overextends:

Чтобы заменить логотип по умолчанию, создайте файл шаблона your_app/templates/wagtailadmin/base.html, который переопределяет блок branding_logo следующим образом:

{% overextends "wagtailadmin/base.html" %}

{% block branding_logo %}
    <img src="{{ STATIC_URL }}images/custom-logo.svg" alt="Custom Project" width="80" />
{% endblock %}

Подробнее см. брендирование трясогузки.


(Редактировать декабрь 2020 г.)

Примечание: В последних версиях трясогузка django-overextends больше не нужна. Теперь он использует тег extends по умолчанию из Django шаблонов. Дополнительную информацию см. в документации.

person DhiaTN    schedule 29.01.2016
comment
Круто, эта документация была добавлена ​​v1.0 и не была выпущена на момент написания вопроса, спасибо, что поделились ею :) Теперь это кажется правильным ответом - person GabLeRoux; 29.01.2016
comment
Теперь, спустя 4 года после написания этого ответа, django-overextends больше не нужен. см. документацию - person Yasiel Cabrera; 13.12.2020
comment
@YasielCabrera спасибо, что поделились. Не могли бы вы добавить его в качестве примечания в начале ответа, я одобрю его. - person DhiaTN; 15.12.2020

Логотип определяется здесь:

https://github.com/torchbox/wagtail/blob/master/wagtail/wagtailadmin/templates/wagtailadmin/base.html#L7

Чтобы переопределить его, вам понадобится приложение, которое содержит templates/wagtailadmin/base.html и предшествует трясогузке в INSTALLED_APPS.

Удачи!

person tomd    schedule 02.07.2014
comment
Спасибо!, я не знал, что мне нужно, чтобы мое приложение было перед другими, чтобы переопределить шаблоны, очень полезно. Я только что обнаружил, что при использовании TEMPLATE_DIRS = (os.path.join(PROJECT_ROOT, 'templates'),) в настройках шаблоны, размещенные в этом каталоге, также переопределяют другие приложения, поэтому не нужно возиться с порядком приложений :) - person GabLeRoux; 02.07.2014
comment
Более подробное объяснение можно найти в текущей документации по трясогузкам (документы .wagtail.io/en/v1.0b1/howto/custom_branding.html). Кроме того, django-overextends — отличный способ корректно переопределить сторонние шаблоны. - person jnns; 15.09.2015