【问题标题】:grappelli dashboard ValueError on two admin sites两个管理站点上的 grappelli 仪表板 ValueError
【发布时间】:2013-02-26 19:44:06
【问题描述】:

我想为我的项目使用两个管理站点。每个都有 grappelli 仪表板。我已经执行了这个命令:

python manage.py customdashboard dashboard.py
python manage.py customdashboard dashboard.py

两次(一次在项目/项目中,第二次在项目/应用程序中)

#file system

project
  project
    dashboard.py
    urls.py
  app
    dashboard.py
    admin.py

#settings.py

GRAPPELLI_INDEX_DASHBOARD = {
    'django.contrib.admin.site': 'project.dashboard.CustomIndexDashboard',
    'app.admin.operator_site': 'app.dashboard.CustomIndexDashboard',
}

#urls.py

from django.conf.urls import patterns, url, include
from django.contrib import admin
from app.admin import admin_site
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^myadmin/', include(operator_site.urls)),
    url(r'^grappelli/', include('grappelli.urls')),
)

#app/admin.py

from django.contrib.admin import AdminSite

class MyAdminSite(AdminSite):
    pass

admin_site = MyAdminSite()

问题是当我转到 /admin/ 时一切正常,但是当我转到 /myadmin/ 时,出现 ValueError

找不到与“{'app.admin.operator_site': 'app.dashboard.CustomIndexDashboard', 'django.contrib.admin.site': 'project.dashboard.CustomIndexDashboard'}”匹配的仪表板

完整的错误跟踪:http://pastebin.com/w8W2eRPd

问题出在哪里?

【问题讨论】:

    标签: django django-admin django-grappelli


    【解决方案1】:

    好的,我已经找到了。在创建实例时创建 AdminSite 的子类时

    admin_site = MyAdminSite()
    

    您应该使用自定义name 参数(不是“管理员”):

    admin_site = MyAdminSite(name='myadmin')
    

    【讨论】:

      猜你喜欢
      • 2011-06-15
      • 2015-01-27
      • 1970-01-01
      • 2019-07-18
      • 2013-12-25
      • 1970-01-01
      • 1970-01-01
      • 2018-07-25
      • 2016-06-28
      相关资源
      最近更新 更多