如何更改Django admin头中的“Django administration”文本?
“自定义管理”文档中似乎没有涉及到这一点。
如何更改Django admin头中的“Django administration”文本?
“自定义管理”文档中似乎没有涉及到这一点。
当前回答
简单方法是在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'
其他回答
有两种方法:
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。
正如您在模板中看到的,文本是通过本地化框架传递的(注意使用了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/消息文件
你可以在你的主urls.py中使用下面这些行
您可以在要显示的引号中添加文本
使用admin.site替换Django admin的文本。Site_header = ""
替换文本Site Administration使用admin.site。Site_title = ""
要替换站点名称,可以使用admin.site。Index_title = ""
要替换视图站点按钮的url,可以使用admin.site。Site_url = ""
有一个简单的方法来设置管理站点头-分配给当前的管理实例在urls.py像这样
admin.site.site_header = 'My admin'
或者你也可以用另一种方法来实现一些创建头部的魔法
admin.site.site_header = get_admin_header()
因此,在简单的情况下,不需要继承AdminSite的子类
您可以使用AdminSite。Site_header来更改文本。这里是文档