如何更改Django admin头中的“Django administration”文本?
“自定义管理”文档中似乎没有涉及到这一点。
如何更改Django admin头中的“Django administration”文本?
“自定义管理”文档中似乎没有涉及到这一点。
当前回答
你不需要为这项工作更改任何模板,你只需要更新你的项目的settings.py。转到settings.py的底部并定义它。
admin.site.site_header = 'My Site Admin'
通过这种方式,你可以改变Django管理员的标题。此外,你可以在下面的链接中阅读更多关于Django Admin定制和设置的内容。
Django管理文档
其他回答
有一个简单的方法来设置管理站点头-分配给当前的管理实例在urls.py像这样
admin.site.site_header = 'My admin'
或者你也可以用另一种方法来实现一些创建头部的魔法
admin.site.site_header = get_admin_header()
因此,在简单的情况下,不需要继承AdminSite的子类
简单方法是在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'
正如您在模板中看到的,文本是通过本地化框架传递的(注意使用了trans模板标记)。您可以对翻译文件进行更改,以覆盖文本,而无需制作自己的模板副本。
mkdir语言环境 。/ jobs makemessages 编辑区域设置/ en / LC_MESSAGES / django。阿宝,加上这些台词: msgstr "Django站点管理" msgstr "MySite站点管理" msgstr "Django管理" msgstr "MySite管理" 。/ jobs compilemessages
看到https://docs.djangoproject.com/en/1.3/topics/i18n/localization/消息文件
admin.py:
from django.contrib.admin import AdminSite
AdminSite.site_title = ugettext_lazy('My Admin')
AdminSite.site_header = ugettext_lazy('My Administration')
AdminSite.index_title = ugettext_lazy('DATA BASE ADMINISTRATION')
从Django 1.7开始,你不需要重写模板。现在,您可以在自定义AdminSite上实现site_header、site_title和index_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所指出的,你可以直接在urls.py或admin.py中设置site_header,而不需要子类化AdminSite:
admin.site.site_header = 'My administration'