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/进行访问。