注册模型时如何解决Django自定义管理站点NoReverseMatch?

时间:2021-07-12 12:43:33

标签: python django django-admin

我想为我的 Django 项目中的一个应用程序创建一个自定义管理站点。这个应用程序有几个模型,我想在管理站点上注册。问题是,如果我在此自定义管理站点中注册应用程序的所有模型,则会收到以下错误:

NoReverseMatch at /admin/auto-harvest/
Reverse for 'app_list' with keyword arguments '{'app_label': 'my_app'}' not found. 1 pattern(s) tried: ['admin/(?P<app_label>auth|django_mfa|axes)/$']

但是,如果我注册除最后一个之外的所有模型,我不会收到错误消息,并且管理站点成功加载,但其中一个模型未注册。 我发现这种行为非常奇怪,无法弄清楚原因。下面是我的 admin.pyurls.py

class MyAdminSite(AdminSite):
    site_header = "My Admin"
    site_title = "My Admin Site"


my_admin_site = MyAdminSite(name='auto_harvest')

注册模型:

@admin.register(MyModel1, site=my_admin_site)
class MyModel1Admin(VersionAdmin):
    ...

@admin.register(MyModel2, site=my_admin_site)
class MyModel2Admin(VersionAdmin):
    ...

在项目 urls 中,我有:

urlpatterns = [
    path('admin/my-site/', include(myapp.urls)),
]

myapp.urls 我有:

urlpatterns = [
    path('', my_admin_site.urls),
]

0 个答案:

没有答案