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

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


当前回答

对于Django 2.1.1,在urls.py中添加以下行

from django.contrib import admin

# Admin Site Config
admin.sites.AdminSite.site_header = 'My site admin header'
admin.sites.AdminSite.site_title = 'My site admin title'
admin.sites.AdminSite.index_title = 'My site admin index'

其他回答

有两种方法:

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。

您可以使用AdminSite。Site_header来更改文本。这里是文档

基于这个问题的答案,在Django 1.8.3中给出了一个简单完整的解决方案。

在settings.py中添加:

ADMIN_SITE_HEADER = "My shiny new administration"

在urls.py中添加:

from django.conf import settings
admin.site.site_header = settings.ADMIN_SITE_HEADER

因为我只在我的应用程序中使用管理界面,我把这个放在admin.py中:

admin.site.site_header = 'My administration'

最简单的方法 确保你有

from django.contrib import admin

然后把这些添加到主程序的url。py底部

admin.site.site_title = "Your App Title"
admin.site.site_header = "Your App Admin"