【问题标题】:Admin Tools config throws 404: page not found管理工具配置抛出 404:找不到页面
【发布时间】:2013-04-07 14:13:13
【问题描述】:

我尝试设置管理工具的基本配置,但由于 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.

【问题讨论】:

  • 请提供完整的错误信息。
  • 与此同时,我意识到 /admin/ URL(在我的例子中实际上是 /sthrep/)现在确实显示了仪表板。我不确定我的哪些更改影响了这一点。我仍然觉得定义一个不是真正映射的 URL 映射令人困惑。另外,报错信息不正确,因为django报错URL-pattern,这不是罪魁祸首,问题一定出在include上。

标签: django-admin-tools


【解决方案1】:

错误信息完全正确:

Django 告诉你没有匹配^admintools/^ 的 URL 模式。 确实如此。这是因为 django-admin-tools 并没有创建不同的管理站点,而是扩展了原来的管理站点。

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

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

恭喜!在这一点上,你应该有一个工作安装 django-管理工具。现在您可以登录到您的管理站点并查看 发生了什么变化。

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

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

【讨论】:

  • 感谢您的澄清
猜你喜欢
  • 1970-01-01
  • 2021-06-30
  • 1970-01-01
  • 2020-06-11
  • 1970-01-01
  • 2013-06-28
  • 2019-06-10
  • 1970-01-01
  • 2018-08-18
相关资源
最近更新 更多