我想为我的 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.py
和 urls.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),
]