After adding django-debug to App, getting “'djdt' is not a registered namespace”
我的问题是如何设置以使用Django调试。在安装工具栏和面板并在我的应用程序中启用这些之后,我得到了上面的错误。我已经看到许多关于这个或一个密切相关的问题的建议,我所做的任何尝试都没有帮助。
在模板呈现/usr/lib/python3.6/site-packages/debug-toolbar/templates/debug-toolbar/base.html期间,特定错误来自:
1 | 16 data-render-panel-url="{% url 'djdt:render_panel' %}" |
我的相关设置.py条目:
1 2 3 4 5 6 7 8 9 10 11 12 | DEBUG = True INSTALLED_APPS = [ 'debug_toolbar', 'debug_panel', ... ] MIDDLEWARE = [ 'debug_toolbar.middleware.DebugToolbarMiddleware', 'debug_panel.middleware.DebugPanelMiddleware', ... ] INTERNAL_IPS = ['127.0.0.1',] |
附加到我的urls.py:
1 2 3 4 5 6 | if settings.DEBUG: try: import debug_toolbar urlpatterns += [url(r'^__debug__/', include(debug_toolbar.urls))] except ImportError: pass |
我试过的:
- 更改settings.py中这些中间件条目的顺序(第一、中间和最后)
- 向我的urlpatterns条目添加名称空间属性
感谢您的进一步建议。
似乎你在使用
Replace the Django Debug Toolbar middleware with the Django Debug
Panel one.
替换:
1 2 3 4 5 | MIDDLEWARE_CLASSES = ( ... 'debug_toolbar.middleware.DebugToolbarMiddleware', ... ) |
用:
1 2 3 4 5 | MIDDLEWARE_CLASSES = ( ... 'debug_panel.middleware.DebugPanelMiddleware', ... ) |
我建议不要使用django调试面板,因为它不是主动维护的。它最后一次修改是在3年前。
您需要手动将djdt路由添加到urls.py的末尾:
1 2 3 4 5 6 7 | if settings.DEBUG: import debug_toolbar urlpatterns += [ url(r'^__debug__/', include(debug_toolbar.urls)), ] |