【问题标题】:How to change django wagtail's admin logo如何更改 django wagtail 的管理员徽标
【发布时间】:2014-07-02 16:09:18
【问题描述】:

我正在做一个小项目,我想试试wagtail。我现在想知道如何在侧边栏中更改 wagtail 的管理徽标(下图中的左上图)。

我可以直接更改/static/wagtailadmin/images/wagtail-logo.svg,但这是错误的;)。

【问题讨论】:

    标签: python django templates wagtail


    【解决方案1】:

    Wagtail 已经在官方文档中使用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 %}
    

    查看Wagtail Custom branding了解更多详情。


    (2020 年 12 月编辑)

    注意:在最新版本的 Wagtail django-overextends 中不再需要。它现在使用Django 模板的默认extends 标签。 Consult the docs了解更多信息

    【讨论】:

    • 酷,此文档已添加到 v1.0,并且在撰写问题时尚未发布,感谢分享:) 现在看来这是正确的答案
    • 现在,在撰写此答案 4 年后,不再需要 django-overextendsSee the docs
    • @YasielCabrera 感谢分享。请您在回复开头添加注释,我会批准。
    【解决方案2】:

    标志在这里定义:

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

    要覆盖它,您需要一个包含 templates/wagtailadmin/base.html 并在 INSTALLED_APPS 中位于 wagtail 之前的应用。

    祝你好运!

    【讨论】:

    • 谢谢!,我不知道我需要让我的应用程序在其他人面前覆盖模板,非常有用。我刚刚发现在设置中使用TEMPLATE_DIRS = (os.path.join(PROJECT_ROOT, 'templates'),) 时,放置在此目录中的模板也会覆盖其他应用程序,因此无需弄乱应用程序顺序:)
    • 可以在当前的 wagtail 文档 (docs.wagtail.io/en/v1.0b1/howto/custom_branding.html) 中找到更深入的解释。此外,django-overextends 是干净地覆盖第 3 方模板的好方法。
    最近更新 更多