替换 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_admin/img/logo-140x60.png
替换后你需要运行命令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 %}
我已经为我的应用程序生成了一个 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_admin/img/logo-140x60.png
替换后你需要运行命令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 %}