在 nginx 上更改标题“Django 管理”文本

Posted

技术标签:

【中文标题】在 nginx 上更改标题“Django 管理”文本【英文标题】:Change header 'Django administration' text on nginx 【发布时间】:2015-03-21 10:20:20 【问题描述】:

我按照this question 的回答更改了我的 django 管理面板标题标题。

我试过了:

有一种设置管理站点标题的简单方法 - 将其分配给当前 像这样在 urls.py 中的管理实例

admin.site.site_header = 'My admin'

但它只在我通过Python manage.py runserver运行页面时才有效

我的问题是当我通过gunicornnginx 运行网站时如何更改管理员标题标题

【问题讨论】:

【参考方案1】:

urls.py 的底部编写此代码以某种方式起作用:

admin.site.site_header = 'My admin'

【讨论】:

【参考方案2】:

如果您已经启动了一个 admin.py 文件,其中您已经注册了您的特定模型,您可以在那里简单地调整这些值。

your_app/admin.py

# Simple admin setup
from django.contrib import admin
from .models import MyModel
# Register model
admin.site.register(MyModel)
# Tweak admin site settings like title, header, 'View Site' URL, etc
admin.site.site_title = 'My App Admin'
admin.site.site_header = 'My App Admin'

你可以找到here的所有属性。

【讨论】:

【参考方案3】:

按照以下步骤自定义 django admin 登录页面的站点标题和站点标题文本:

1.)首先在 settings.py 文件中导入管理模块,如下所示:

from django.contrib import admin

2.)在 settings.py 文件的底部添加以下行:

admin.site.site_header = 'MY_SITE_HEADER'
admin.site.site_title = 'MY_SITE_TITLE'

上述方法适用于最新版本的 django,即 1.11.3 至今。

【讨论】:

【参考方案4】:

您可以通过在模板目录的 admin 子目录中提供模板来更改管理员的部分内容,以覆盖管理员提供的内容。

在这种情况下,您需要提供一个 base_site.html 模板。你可以在这里看到默认的样子:https://github.com/django/django/blob/master/django/contrib/admin/templates/admin/base_site.html

【讨论】:

以上是关于在 nginx 上更改标题“Django 管理”文本的主要内容,如果未能解决你的问题,请参考以下文章

Nginx 不支持 Django 管理静态文件

使用 nginx 部署 django

在 django 中覆盖管理 css

为啥 nginx 不会用 django 和 gunicorn 显示静态内容?

扩展 Django 管理模板 - 更改更改列表

无法更改 Django 管理模板