首页 > 解决方案 > 在引入 Django 管理用户工具时遇到麻烦,例如欢迎、查看站点、注销自定义模板

问题描述

我必须将品牌、站点标题和索引标题等块覆盖到自定义模板。但是没有显示用户工具。

我怎么得到。 在此处输入图像描述

我多么想要。 在此处输入图像描述

标签: pythondjangodjango-admin

解决方案


您可以从主 urls.py 更新站点标题。只需添加:

from django.contrib import admin
....
admin.site.site_header = "the title you want"

如果您想大量自定义管理站点,您可能需要子类化/覆盖默认管理站点。该文档包含您需要的大部分信息。 https://docs.djangoproject.com/en/dev/ref/contrib/admin/#customizing-the-adminsite-class

如果您想使用自定义行为设置您自己的管理站点,您可以自由地将 AdminSite 子类化并覆盖或添加任何您喜欢的内容。然后,创建 AdminSite 子类的实例(与实例化任何其他 Python 类的方式相同)并使用它而不是默认站点注册模型和 ModelAdmin 子类。最后,更新 myproject/urls.py 以引用您的 AdminSite 子类。

应用程序/admin.py

from django.contrib.admin import AdminSite    
from .models import MyModel

class MyAdminSite(AdminSite):
    site_header = 'Monty Python administration'

admin_site = MyAdminSite(name='myadmin')
admin_site.register(MyModel)

项目/urls.py

from django.urls import path    
from myapp.admin import admin_site

urlpatterns = [
    path('myadmin/', admin_site.urls),
]

推荐阅读