替换Djangoadmin的引导主题的默认徽标

2024-05-29 10:04:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经为我的应用程序生成了一个django管理员,我可以访问仪表板。但它包含一个徽标,上面写着“django admin”。我想将其更改为我自己的自定义徽标。我该怎么做

我尝试将base.html文件添加到admin目录,并尝试覆盖,但由于某些原因,它无法工作。其代码如下:

{% 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 %}

screenshot

我想更改左上角的徽标。我怎样才能达到我想要达到的目标


Tags: djangoimgbaseadminstylehtmlloadblock
2条回答

你的问题得到了回答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设置中,代码::模板设置如下所示

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/')],并创建templates文件夹。如果STATICFILES_DIRS为空,则将其设置为:

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

现在从刚才创建的admin app to templates\admin文件夹创建一个名为base_site.html的文件。在其中添加代码:

{% 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 %}

相关问题 更多 >

    热门问题