Сталкиваемся с проблемами при переносе пользовательских инструментов администратора Django, таких как приветствие, просмотр сайта, выход из системы на пользовательский шаблон

Мне нужно переопределить такие блоки, как branding, site_title и index title в пользовательском шаблоне. Но пользовательские инструменты не отображаются.

Как я получаю. enter image description here

<

Вы можете обновить заголовок сайта из вашего основного 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.

app/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)

project/urls.py

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

urlpatterns = [
    path('myadmin/', admin_site.urls),
]
Вернуться на верх