Django自定义管理仪表板错误

时间:2012-09-13 18:45:47

标签: python django django-grappelli

我尝试使用django-grappelli仪表板,管理界面出错。

Django Version: 1.4.1
Exception Type: ImportError
Exception Value:    
No module named dashboard

In template /.../lib/python2.7/site-packages/grappelli/dashboard/templates/admin/index.html, error at line 32
31  {% block content %}
32  {% grp_render_dashboard %}
33  {% endblock %}

我可以在更改之前使用grappelli管理界面。 根据{{​​3}}采取的步骤。 我将这些添加到我的settings.py

    GRAPPELLI_INDEX_DASHBOARD = 'myproj.dashboard.CustomIndexDashboard'
    ...
TEMPLATE_CONTEXT_PROCESSORS = (
    "django.contrib.auth.context_processors.auth",
    "django.core.context_processors.request",
    "django.core.context_processors.i18n",
    'django.contrib.messages.context_processors.messages',
)

    INSTALLED_APPS = (
        'grappelli.dashboard',
        'grappelli',
        'django.contrib.admin',
         ...

dashboard.py位于根目录(myproj)中。它里面有一堂课。

 class CustomIndexDashboard(Dashboard):

myproj
├── admin
│   ├── css
:
├── dashboard.py
├── grappelli
│   ├── images
│   │   ├── backgrounds
├── myapp
│   ├── __init__.py
│   ├── __init__.pyc

2 个答案:

答案 0 :(得分:17)

好的,它开始工作了。 dashboard.py需要移动到myproj / myproj

答案 1 :(得分:2)

我遇到了同样的问题!感谢您的回答,但似乎您的答案非常简单,我最初无法理解。请允许我详细说明,以便其他人可以解决类似的问题。

假设您有这样的目录结构:

 myproj
    ├── myproj

    ├── settings.py
    ├── manage.py
    ├── urls.py
    ├── grappelli
    │   ├── ...
    ├── myapp
    │   ├── __init__.py
    │   ├── __init__.pyc

执行以下操作后:

    python manage.py customdashboard 

dashboard.py(第一个)目录中生成myproj,目录结构如下所示:

myproj
├── myproj
├── dashboard.py
├── settings.py
├── manage.py
├── urls.py
├── grappelli
│   ├── ...
├── myapp
│   ├── __init__.py
│   ├── __init__.pyc

您应该将dashboard.py文件放在myproj/myproj目录中。然后您登录管理站点,您会发现它有效。 Dashboard Setup

中没有明确说明这一点