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

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


当前回答

只需转到admin.py文件,并在文件中添加这一行:

admin.site。site_header = "我的政府"

其他回答

首先,您应该将templates/admin/base_site.html添加到项目中。这个文件可以安全地被覆盖,因为Django开发人员是为了定制您的管理站点而设计的这个文件。下面是在文件中放入内容的示例:

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

{% block title %}{{ title }} | {% trans 'Some Organisation' %}{% endblock %}

{% block branding %}
<style type="text/css">
  #header
  {
    /* your style here */
  }
</style>
<h1 id="site-name">{% trans 'Organisation Website' %}</h1>
{% endblock %}

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

这是常见的做法。但我注意到,在这之后,我仍然在主管理索引页上留下了一个烦人的“网站管理”。这个字符串不在任何模板中,而是在管理视图中设置的。幸运的是,这很容易改变。假设你的语言设置为英语,在你的项目目录中运行以下命令:

$ mkdir locale
$ ./manage.py makemessages -l en

现在打开locale/en/LC_MESSAGES/django文件。Po并在标题信息后添加两行(本例的最后两行)

"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-03 03:25+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

msgid "Site administration"
msgstr "Main administration index"

在此之后,记得运行以下命令并重新加载项目的服务器:

$ ./manage.py compilemessages

来源:http://overtag.dk/wordpress/2010/04/changing-the-django-admin-site-title/

你不需要为这项工作更改任何模板,你只需要更新你的项目的settings.py。转到settings.py的底部并定义它。

admin.site.site_header = 'My Site Admin'

通过这种方式,你可以改变Django管理员的标题。此外,你可以在下面的链接中阅读更多关于Django Admin定制和设置的内容。

Django管理文档

对于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'

基于这个问题的答案,在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

更新:如果你使用的是Django 1.7+,请参阅下面的答案。


2011年的原始答案: 为此,您需要创建自己的管理base_site.html模板。最简单的方法是创建文件:

/<projectdir>/templates/admin/base_site.html

这应该是原始base_site.html的副本,除了放入您的自定义标题:

{% block branding %}
<h1 id="site-name">{% trans 'my cool admin console' %}</h1>
{% endblock %}

为此,你需要为你的项目设置正确的设置,即在settings.py中:

确保/projectdir/templates/被添加到TEMPLATE_DIRS中。 确保django.template.loaders. filessystem .loader被添加到TEMPLATE_LOADERS中。

有关settings.py的更多信息,请参阅文档。