我的问题是关于设置使用django-debug。 安装工具栏和面板并在我的应用程序中启用它们后,出现上述错误。我已经看到许多有关此问题或与之相关的问题的建议,但我尝试过的任何方法都无济于事。
在/usr/lib/python3.6/site-packages/debug_toolbar/templates/debug_toolbar/base.html的模板呈现期间,特定错误来自:
16 data-render-panel-url="{% url 'djdt:render_panel' %}"
我的相关settings.py条目:
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:
if settings.DEBUG:
try:
import debug_toolbar
urlpatterns += [url(r'^__debug__/', include(debug_toolbar.urls))]
except ImportError:
pass
我尝试过的事情:
感谢您提出任何进一步的建议。
答案 0 :(得分:1)
好像您同时使用debug_toolbar
和debug_panel
在documentation for debug面板中,提到您需要删除debug_toolbar
。
用Django Debug替换Django Debug Toolbar中间件 面板一。
替换:
MIDDLEWARE_CLASSES = (
...
'debug_toolbar.middleware.DebugToolbarMiddleware',
...
)
具有:
MIDDLEWARE_CLASSES = (
...
'debug_panel.middleware.DebugPanelMiddleware',
...
)
我不建议使用django-debug-panel,因为它没有得到积极维护。最后修改是3年前。
答案 1 :(得分:0)
您需要手动将djdt路由添加到urls.py的末尾:
if settings.DEBUG:
import debug_toolbar
urlpatterns += [
url(r'^__debug__/', include(debug_toolbar.urls)),
]
答案 2 :(得分:0)
如果在将DEBUG
设置为False
时发生此问题,则只需从列表中删除debugtoolbar中间件即可解决该问题。
MIDDLEWARE = [
'debug_toolbar.middleware.DebugToolbarMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
if DEBUG is False:
del MIDDLEWARE[0]
if settings.DEBUG:
import debug_toolbar
urlpatterns = [
path('__debug__/', include(debug_toolbar.urls)),
] + urlpatterns
答案 3 :(得分:0)
该错误是由于我们声明了它的中间原因,但是如果DEBUG = FALSE,则不会导入该模块。因此,如果DEDEUG设置为TRUE,只需检查其中间即可添加
settings.py
MIDDLEWARE = [
...
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
....
]
if DEBUG:
MIDDLEWARE = ['debug_toolbar.middleware.DebugToolbarMiddleware'] + MIDDLEWARE
urls.py
if settings.DEBUG:
import debug_toolbar
urlpatterns = [
path('__debug__/', include(debug_toolbar.urls)),
] + urlpatterns