替换 django-admin 的 bootstrap 主题的默认徽标

Replacing django-admin's bootstrap theme's default logo

我已经为我的应用程序生成了一个 django-admin,我可以访问仪表板。但它包含一个标志,上面写着 "django admin"。我想将其更改为我自己的自定义徽标。我怎样才能做到这一点?

我尝试将 base.html 文件添加到管理目录并尝试覆盖,但由于某种原因它不起作用。其代码如下:

{% extends "admin/base.html" %}
{% load theming_tags %}
{% load staticfiles %}
{% block blockbots %}
    {{ block.super }}
    {# Using blockbots ensures theming css comes after any form media and other css #}
    {% render_theming_css %}
    <style type="text/css">
    #header #branding h1 {
        background-image: url("bootstrap_admin/img/logo-140x60.png");
    }
    </style>
{% endblock %}

{% block branding %}
<a href="{% url 'admin:index' %}" class="django-admin-logo">
    <!-- Django Administration -->
    <img src="{% static "bootstrap_admin/img/logo-140x60.png" %}" alt="{{ site_header|default:_('Django Admin') }}">
</a>
{% endblock branding %}

我想更改左上角的徽标。我怎样才能实现我想要的目标?

您的问题已得到解答here

"{% static "bootstrap_admin/img/logo-140x60.png" %}" 这来自这里

django-admin-bootstrap/bootstrap_admin/static/bootstrap_admi‌​n/img/logo-140x60.pn‌​g

替换后你需要运行命令python manage.py collectstatic然后这会起作用

官方的实现方式是:
您需要覆盖 Django 提供的默认模板。在您的 Django 设置中,您的 code:: TEMPLATES 设置如下所示。

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [],
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
        ],
    },
},
]

这意味着 Django 将在每个应用程序中名为 templates 的目录中查找模板,但您可以通过设置 TEMPLATES.DIRS.

的值来覆盖它

我们将 'DIRS': [], 更改为 'DIRS': [os.path.join(BASE_DIR, 'templates/')], 并创建模板文件夹。如果您的 STATICFILES_DIRS 为空,请将其设置为:

STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]

现在从管理应用程序创建一个名为 base_site.html 的文件到您刚创建的 templates\admin 文件夹。在其中添加代码:

{% extends "admin/base.html" %}

{% load staticfiles %}

{% block title %}{{ title }} | {{ site_title|default:_('Django site admin') }}{% 
endblock %}

{% block branding %}
<h1 id="site-name">
<a href="{% url 'admin:index' %}">
    <img src="{% static 'Your image.png' %}" height="40px" />
</a>
 </h1>
 {% endblock %}

 {% block nav-global %}{% endblock %}