2

我尝试设置管理工具的基本配置,但由于 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。我确信正则表达式匹配 /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.
4

1 回答 1

2

错误消息是完全正确的:

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

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

顺便说一句,在django-admin-tools 文档中,在设置说明的末尾,他们说:

恭喜!此时您应该已经安装了 django-admin-tools。现在您可以登录到您的管理站点并查看发生了什么变化。

我猜你的管理站点是指标准管理站点。

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

于 2013-04-17T08:44:30.543 回答