Django中2个不同管理站点的问题

时间:2012-08-03 10:35:53

标签: django django-admin

我希望在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面板仅列出所有注册管理员但未显示添加/更改链接。

1 个答案:

答案 0 :(得分:1)

app_name的{​​{1}}通过AdminSite()初始化。您不能通过提供类级变量来覆盖它,因此您遇到了实例名称空间冲突,然后遇到了一些AdminSite.__init__()失败,here,导致添加/更改链接未显示。尝试

reverse