我希望在Django项目中有2个独立的管理站点。
首先是默认管理员 第二是“课程管理者” 以下代码我在AdminSite的帮助下添加了
档案路径“cms / courses / admin.py”
from courses.models import *
from django.contrib import admin
from django.contrib.admin.sites import AdminSite
from django.contrib.auth.models import User, Group
from django.contrib.auth.admin import UserAdmin, GroupAdmin
class CourseManager(AdminSite):
name = 'CourseManager'
course_manager = CourseManager()
class CityAdmin(admin.ModelAdmin):
list_display = ['__unicode__', 'status',]
list_filter = ['status',]
search_fields = ['title',]
course_manager.register(City, CityAdmin)
“CMS / CMS / urls.py”
from courses.admin import course_manager
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'coursemanager/', include(course_manager.urls)),
)
但是当我添加http://domain.local/coursemanager/& http://domain.local/admin/这两个小组都在工作,但在http://domain.local/coursemanger/列表注册城市模块但没有显示添加或更改链接。事件我试图从URL访问链接但不工作。我正在检查这个超级用户,我有所有模块访问权限。但是当我改变像bellow这样的代码时
“CMS / CMS / urls.py”
from courses.admin import course_manager
urlpatterns = patterns('',
url(r'coursemanager/', include(course_manager.urls)),
url(r'^admin/', include(admin.site.urls)),
)
然后http://domain.local/coursemanager/工作正常且http://domain.local/admin面板仅列出所有注册管理员但未显示添加/更改链接。
答案 0 :(得分:1)
app_name
的{{1}}通过AdminSite()
初始化。您不能通过提供类级变量来覆盖它,因此您遇到了实例名称空间冲突,然后遇到了一些AdminSite.__init__()
失败,here,导致添加/更改链接未显示。尝试
reverse