Djangoadmin,在自定义视图中找不到页面

我遇到了很烦人的问题。

我已经AdminSite像这样创建了自己的:

from django.contrib import admin
from django.template.response import TemplateResponse
from django.urls import path

class MyAdminSite(admin.AdminSite):

    def get_urls(self):
        urls = super().get_urls()
        my_urls = [
            path('statistics/', self.admin_view(self.statistics), name='statistics'),
        ]
        return urls + my_urls

    def statistics(self, request):
        context = dict(
            self.each_context(request),
        )
        return TemplateResponse(request, 'admin/statistics.html', context)

我已经创建了自己的AdminConfig并将其分配到我INSTALLED_APPS创建的 html 文件中,然后在我的根 url 中添加它,如下所示:

 urlpatterns = [
    url(r'^admin/', admin.site.urls),
 ]

我已经登录到我的管理页面,当我尝试打开时, localhost:8000/admin/statistics我收到了这个:

Page not found (404)
Request URL:    http://localhost:8000/admin/statistics/

为什么会发生这种情况?我错过了什么?

更新

我在我的 get_urls 上添加了打印,它显示了这一点。(我删除了不必要的 url):

[
<URLPattern '' [name='index']>, 
<URLPattern 'login/' [name='login']>, 
<URLPattern 'logout/' [name='logout']>, 
<URLPattern 'password_change/' [name='password_change']>, 
<URLPattern 'password_change/done/' [name='password_change_done']>, 
<URLPattern 'autocomplete/' [name='autocomplete']>, 
<URLPattern 'jsi18n/' [name='jsi18n']>, 
<URLPattern 'r/<int:content_type_id>/<path:object_id>/' [name='view_on_site']>, 
<URLResolver <URLPattern list> (None:None) 'auth/group/'>,  
<URLPattern '(?P<url>.*)$'>, 
<URLPattern 'statistics/' [name='statistics']>
]

使用python manage.py show_urls | grep statistics向我展示了这一点:

/admin/statistics/   project.admin.statistics    admin:statistics

以上是Djangoadmin,在自定义视图中找不到页面的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>