3.如何创建两个独立的管理站点?

创建管理页面的通常方法是将所有模型放在一个管理后台中。但是,可以在一个Django应用程序中拥有多个管理站点。

现在,我们entity和event模型在同一位置。UMSRA有两个不同的小组来使用“Events”应用和“ Entity”应用,因此希望拆分管理后台。

我们对Entity应用,使用默认的Django Admin后台,对于Event应用,我们使用AdminSite创建一个新的管理后台子类。

修改项目中的events/admin.py:

from django.contrib.admin import AdminSite
class EventAdminSite(AdminSite):
    site_header = "UMSRA Events Admin"
    site_title = "UMSRA Events Admin Portal"
    index_title = "Welcome to UMSRA Researcher Events Portal"
event_admin_site = EventAdminSite(name='event_admin')

event_admin_site.register(Epic)
event_admin_site.register(Event)
event_admin_site.register(EventHero)
event_admin_site.register(EventVillain)

并修改项目urls.py为

from events.admin import event_admin_site

urlpatterns = [
    path('entity-admin/', admin.site.urls),
    path('event-admin/', event_admin_site.urls),
]

这可以隔离两个管理后台,两者可以通过各自的URL /entity-admin/和event-admin/进行访问。

02-11 21:01