【问题标题】:Django secondary admin site links to main admin siteDjango 辅助管理站点链接到主管理站点
【发布时间】:2021-10-06 18:15:46
【问题描述】:

我正在尝试添加一个辅助管理站点,它工作正常,只是所有链接都指向主管理站点。不知道如何解决这个问题。

如果我访问/dispatch/admin/,模型Run 是可见的,但是当我单击链接时,它会将我定向到/admin/dispatch/run/ 而不是/dispatch/admin/dispatch/run/

Django==3.2.7

class DispatchAdminSite(admin.AdminSite):
    pass


class DispatchRunAdmin(RunAdmin):
    def get_queryset(self, request):
        return (
            super().get_queryset(request)
            .filter_today_or_future()
        )

    def get_readonly_fields(self, request, obj=None):
        return [f.name for f in self.model._meta.fields]


dispatch_admin_site = DispatchAdminSite(name='Dispatch')
dispatch_admin_site.register(models.Run, DispatchRunAdmin)

dispatch/urls.py

app_name = 'dispatch'
urlpatterns = [
    path('admin/', admin.dispatch_admin_site.urls),
]

项目/urls.py

urlpatterns = [
    path('dispatch/', include('dispatch.urls')),
    path('admin/', admin.site.urls),
]

【问题讨论】:

    标签: django


    【解决方案1】:

    无论出于何种原因,无法使用 include 添加自定义管理员,它必须是您项目中的顶级 URL。

    # project/urls.py
    
    from django.contrib import admin
    from dispatch.admin import dispatch_admin_site
    
    urlpatterns = [
        path('dispatch-admin/', dispatch_admin_site.urls),
        path('admin/', admin.site.urls),
    ]
    

    【讨论】:

      猜你喜欢
      • 2010-11-04
      • 1970-01-01
      • 2021-06-14
      • 2011-09-23
      • 1970-01-01
      • 2021-10-24
      • 2012-09-11
      • 2012-08-23
      • 2019-08-18
      相关资源
      最近更新 更多