如何更改 django 管理标头中的“Django 管理”文本?
“自定义管理员”文档中似乎没有涵盖它。
更新 :如果您使用的是 Django1.7+,请参阅下面的答案。
2011 年的原始答案: 您需要创建自己的管理base_site.html模板来执行此操作。最简单的方法是创建文件:
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:
settings.py
/projectdir/templates/
TEMPLATE_DIRS
django.template.loaders.filesystem.Loader
TEMPLATE_LOADERS
有关settings.py.
从 Django 1.7 开始,您不需要覆盖模板。您现在可以在自定义AdminSite上实现site_header、site_title和index_title属性,以便轻松更改管理站点的页面标题和标题文本。创建一个 AdminSite 子类并将您的实例挂接到您的 URLconf 中:
site_title
index_title
管理员.py:
from django.contrib.admin import AdminSite from django.utils.translation import ugettext_lazy class MyAdminSite(AdminSite): # Text to put at the end of each page's <title>. site_title = ugettext_lazy('My site admin') # Text to put in each page's <h1> (and above login form). site_header = ugettext_lazy('My administration') # Text to put at the top of the admin index page. index_title = ugettext_lazy('Site administration') admin_site = MyAdminSite()
网址.py:
from django.conf.urls import patterns, include from myproject.admin import admin_site urlpatterns = patterns('', (r'^myadmin/', include(admin_site.urls)), )
更新:正如 oxfn 所指出的,您可以简单地site_header在您的urls.py或admin.py直接设置,而无需子类化AdminSite:
site_header
urls.py
admin.py
AdminSite
admin.site.site_header = 'My administration'