我尝试设置管理工具的基本配置,并通过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.
答案 0 :(得分:2)
错误消息完全正确无误:
Django告诉我们没有匹配^admintools/^
的网址格式。 这是真的。这是因为django-admin-tools不会创建不同的管理站点,而是扩展原始管理站点。
^admintools/
模式仅为其子模式创建,可以访问管理工具所需的页面以便正常工作(例如,添加到原始管理员的新页面)。
顺便说一句,在django-admin-tools documentation中,在设置说明的最后,他们说:
恭喜!此时你应该有一个工作安装 Django的管理工具。现在您只需登录管理站点即可查看 发生了什么变化。
我想通过您的管理网站,这意味着标准的管理网站。
所以我认为访问管理界面,菜单和仪表板的好方法是使用标准管理员。