如何更改Django admin头中的“Django administration”文本?

“自定义管理”文档中似乎没有涉及到这一点。


当前回答

从Django 2.0开始,你只需要在url.py中添加一行代码并更改名称。

# url.py

from django.contrib import admin 
admin.site.site_header = "My Admin Central" # Add this

对于较旧版本的Django。(<1.11或更早的版本),您需要编辑admin/base_site.html

改变这一行

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

to

{% block title %}{{ title }} | {{ site_title|default:_('Your Site name Admin Central') }}{% endblock %}

你可以检查你的django版本

django-admin --version

其他回答

简单方法是在url.py中添加以下代码

    urlpatterns = [
    #Your URLS here
    path('admin/', admin.site.urls),
]

admin.site.site_header = 'SiteName Admin'
admin.site.site_title  = 'SiteName'
admin.site.index_title   = 'Admin'

有两种方法:

1]在django/contrib/admin/templates/admin/base_site.html中覆盖base_site.html: 下面是base_site.html的内容:

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

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

{% block branding %}
<h1 id="site-name"><a href="{% url 'admin:index' %}">{{ site_header|default:_('Django administration') }}</a></h1>
{% endblock %}

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

编辑上面代码片段中的site_title和site_header。这种方法是有效的,但不推荐,因为它是一个静态的变化。

2]在项目目录的urls.py中添加以下行:

admin.site.site_header = "AppHeader"
admin.site.site_title = "AppTitle"
admin.site.index_title = "IndexTitle"
admin.site.site_url = "Url for view site button"

推荐使用这种方法,因为我们可以在不编辑base_site.html的情况下更改site-header, site-title和index-title。

你可以在你的主urls.py中使用下面这些行

您可以在要显示的引号中添加文本

使用admin.site替换Django admin的文本。Site_header = ""

替换文本Site Administration使用admin.site。Site_title = ""

要替换站点名称,可以使用admin.site。Index_title = ""

要替换视图站点按钮的url,可以使用admin.site。Site_url = ""

你只需要覆盖admin/base_site.html模板(从django.contrib.admin.templates中复制模板并放入你自己的管理模板dir中)并替换branding块。

使用format_html允许html被呈现,否则它将只是纯文本。

在你的主url .py文件中添加以下内容(url .py在settings.py存在的目录中):

from django.contrib import admin
from django.utils.html import format_html

site_header = 'Your html snippet'
admin.site.site_header = format_html(site_header)