管理工具配置抛出404:找不到页面

时间:2013-04-15 12:51:30

标签: django-admin-tools

我尝试设置管理工具的基本配置,并通过url调度程序识别admin_tools.urls的包含失败:

#urls.py
...
import admin_tools.urls
urlpatterns = patterns('',
    url(r'^admintools/', include(admin_tools.urls)),
    url(r'^admin/', include(admin.site.urls)),
)

#settings.py
import django.conf.global_settings as DEFAULT_SETTINGS
TEMPLATE_CONTEXT_PROCESSORS = DEFAULT_SETTINGS.TEMPLATE_CONTEXT_PROCESSORS + (
    "django.core.context_processors.request",
)

INSTALLED_APPS = (
    'django.contrib.auth',
    ...
    'admin_tools',
    'admin_tools.menu',
    'admin_tools.dashboard',
    'django.contrib.admin',
    'repmgr',)

我确实运行了syncdb。我确信regexp匹配/ admintools /,因为当我包含另一个应用程序时它会起作用。

详细的错误回复是:

Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8000/admintools/
Using the URLconf defined in urlconf, Django tried these URL patterns, in this order:
^__debug__/m/(.*)$
^__debug__/sql_select/$ [name='sql_select']
^__debug__/sql_explain/$ [name='sql_explain']
^__debug__/sql_profile/$ [name='sql_profile']
^__debug__/template_source/$ [name='template_source']
^admin/doc/
^admintools/ ^menu/
^admintools/ ^dashboard/
^sthrep/
The current URL, admintools/, didn't match any of these.

1 个答案:

答案 0 :(得分:2)

错误消息完全正确无误:

Django告诉我们没有匹配^admintools/^的网址格式。 这是真的。这是因为django-admin-tools不会创建不同的管理站点,而是扩展原始管理站点。

^admintools/模式仅为其子模式创建,可以访问管理工具所需的页面以便正常工作(例如,添加到原始管理员的新页面)。

顺便说一句,在django-admin-tools documentation中,在设置说明的最后,他们说:

  

恭喜!此时你应该有一个工作安装   Django的管理工具。现在您只需登录管理站点即可查看   发生了什么变化。

我想通过您的管理网站,这意味着标准的管理网站。

所以我认为访问管理界面,菜单和仪表板的好方法是使用标准管理员。