Пользовательский вид на главной странице администратора
Я хочу отображать некоторую информацию в админке index.html, но не хочу использовать для этого контекстные процессоры, а иметь свой собственный вид.
Поэтому я попробовал так, как описано в документации и обсуждалось здесь.
Мое приложение называется virtual
, поэтому я сделал:
в virtual/admin.py:
class VirtualAdminSite(admin.AdminSite):
index_template = "virtual/admin_index.html"
def index(self, request, extra_context=None):
extra_context = extra_context or {}
return super().index(request, extra_context)
admin_site = VirtualAdminSite(name="virtualAdminSite")
в virtual/apps.py:
class VirtualAdminConfig(AdminConfig):
default_site = "virtual.admin.VirtualAdminSite"
в файле project/settings.py
INSTALLED_APPS = ["virtual.apps.VirtualConfig",
"virtual.apps.VirtualAdminConfig", ...]
Затем я столкнулся с ошибкой:
ImportError: Module "virtual.admin" does not define a "VirtualAdminSite" attribute/class
Если я использую "django.contrib.admin"
вместо virtual.apps.VirtualAdminConfig
, все работает просто отлично.
Итак, два вопроса:
- почему происходит эта ошибка, мне кажется, что я скопировал это прямо из документации?
- Я предположил, что могу добавить некоторые переменные в
VirtualAdminSite
extra_context и показать их в шаблоне индекса с помощью {{ имя_переменной }}. - правильно ли это?