更改标题'Django管理'文本

如何更改django管理标题中的'Django管理'文本?

它似乎没有在“定制管理员”文档中介绍。


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

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

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

这应该是https://github.com/django/django/blob/master/django/contrib/admin/templates/admin/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.filesystem.Loader'添加到TEMPLATE_LOADERS中
  • 有关settings.py的更多信息,请参见http://docs.djangoproject.com/en/dev/ref/settings/。


    从Django 1.7开始,你不需要重写模板。 您现在可以在自定义AdminSite上实施site_header, site_titleindex_title属性,以便轻松更改管理网站的页面标题和标题文本。 创建一个AdminSite子类并将您的实例挂接到您的URLconf中:

    admin.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()
    

    urls.py:

    from django.conf.urls import patterns, include
    from myproject.admin import admin_site
    
    urlpatterns = patterns('',
        (r'^myadmin/', include(admin_site.urls)),
    )
    

    更新 :由于oxfn你可以简单的设置指出site_headerurls.pyadmin.py直接没有子AdminSite

    admin.site.site_header = 'My administration'
    

    有一个简单的方法来设置管理网站标题 - 将其分配给urls.py当前管理实例

    admin.site.site_header = 'My admin'
    

    或者可以用单独的方法实现一些标题构建魔法

    admin.site.site_header = get_admin_header()
    

    因此,在简单情况下,不需要AdminSite

    链接地址: http://www.djcxy.com/p/62009.html

    上一篇: change header 'Django administration' text

    下一篇: Django fix Admin plural