可以继承Django的子类AdminSite
(例如,将其放在admin.py
项目根目录中):
from django.contrib.admin.sites import AdminSite
class MyAdminSite(AdminSite):
pass
#or overwrite some methods for different functionality
myadmin = MyAdminSite(name="myadmin")
至少从1.9开始,你需要添加name参数以使其正常运行。这用于创建反向URL,因此名称必须是urls.py中的名称。
然后,你可以admin.py
像处理普通AdminSite
实例一样在应用程序中使用它:
from myproject.admin import myadmin
myadmin.register(MyModel_A)
你还需要为其定义一些网址(在项目的中urls.py):
from myproject.admin import admin, user_site
from myproject.admin import myadmin
urlpatterns = patterns('',
...
(r'^admin/', include(admin.site.urls)),
(r'^myadmin/', include(myadmin.urls)),