Панель администратора Django добавляет пользовательское представление, которое не зависит ни от какой модели
Я пытаюсь добавить пользовательское представление в админ-панель Django под localhost:8000/admin/my_view и получаю ответ "Страница не найдена 404". Почему админ панель django не видит url моей пользовательской страницы?
Вот мой файл admin.py:
from django.contrib import admin
from django.template.response import TemplateResponse
from .models import *
class MyAdminSite(admin.AdminSite):
site_header = 'BeautyShop'
site_title = site_header
def get_urls(self):
from django.urls import path
urls = super().get_urls()
urls += [
path('my_view/', self.admin_view(self.my_view))
]
return urls
def my_view(self, request):
data = {"MyName": "MyName"}
return TemplateResponse(request, "my_view.html", context=data)
def get_app_list(self, request):
apps = [{'name': 'Additional options',
'models': [
{'name': 'Update dictionaries',
'perms': {'change': True},
'admin_url': 'my_view/'
}
]
}]
return apps + super().get_app_list(request)
admin_site = MyAdminSite()
# Register your models here.
admin_site.register(Product)
admin_site.register(Review)
admin_site.register(Order)
admin_site.register(OrderItem)
admin_site.register(ShippingAddress)
и urls.py
from base.admin import admin_site
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from django.views.generic import TemplateView
urlpatterns = [
path('admin/', admin_site.urls),
path('', TemplateView.as_view(template_name='index.html')),
path('api/products/', include('base.urls.product_urls')),
path('api/users/', include('base.urls.user_urls')),
path('api/orders/', include('base.urls.order_urls')),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
В settings.py я добавил
os.path.join(BASE_DIR, 'backend/templates/')
в ТЕМПЛАТЫ