У вас есть 3 варианта здесь:
Использование сторонних пакетов, предоставляющих меню
Это довольно просто, есть несколько хороших пакетов, которые поддерживают меню для администратора и способ добавить ваш элемент в меню.
Взлом с помощью шаблонов администрирования django
Вы всегда можете расширить шаблоны администратора и переопределить нужные части, как уже упоминалось в ответе @Sardorbek, вы можете скопировать некоторые части из шаблона администратора и изменить их так, как вы хотите.
Использование пользовательского сайта администратора
Если ваши представления должны действовать только на сайте администратора, вы можете расширить админсайт (и, возможно, изменить значение по умолчанию ), помимо добавления ссылок на шаблон, вы должны использовать этот метод для определения вашего администратора -просматривает только потому, что так проще проверять разрешения.
Учитывая, что вы уже расширили административный сайт, теперь вы можете использовать предыдущие методы, чтобы добавить ссылку на шаблон, или даже расширить get_app_list
метод, например:
class MyAdminSite(admin.AdminSite):
def get_app_list(self, request):
app_list = super().get_app_list(request)
app_list += [
{
"name": "My Custom App",
"app_label": "my_test_app",
# "app_url": "/admin/test_view",
"models": [
{
"name": "tcptraceroute",
"object_name": "tcptraceroute",
"admin_url": "/admin/test_view",
"view_only": True,
}
],
}
]
return app_list
Вы также можете проверить, может ли текущий пользовательский персонал иметь доступ к модулю, прежде чем показывать им ссылки.
Это будет выглядеть следующим образом:
![enter image description here](https://i.stack.imgur.com/d0EKS.jpg)