Cod*_*tle 20 django django-debug-toolbar
我的问题是关于设置使用 django-debug。安装工具栏和面板并在我的应用程序中启用这些后,我收到上述错误。我已经看到很多关于这个问题或密切相关问题的建议,但我尝试过的一切都没有帮助。
在 /usr/lib/python3.6/site-packages/debug_toolbar/templates/debug_toolbar/base.html 的模板渲染期间的具体错误来自:
16 data-render-panel-url="{% url 'djdt:render_panel' %}"
Run Code Online (Sandbox Code Playgroud)
我的相关 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',]
Run Code Online (Sandbox Code Playgroud)
附加到我的 urls.py:
if settings.DEBUG:
try:
import debug_toolbar
urlpatterns += [url(r'^__debug__/', include(debug_toolbar.urls))]
except ImportError:
pass
Run Code Online (Sandbox Code Playgroud)
我试过的:
感谢您提供任何进一步的建议。
小智 24
您需要手动将“djdt”路由添加到 urls.py 的末尾(如果您在应用程序中使用“命名空间”,请将以下代码添加到您项目中的“urls.py”中):
if settings.DEBUG:
import debug_toolbar
urlpatterns += [
url(r'^__debug__/', include(debug_toolbar.urls)),
]
Run Code Online (Sandbox Code Playgroud)
Arb*_*ain 10
如果当我们设置为 时出现此问题,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]
Run Code Online (Sandbox Code Playgroud)
from django.conf import settings
from django.conf.urls import include
...
if settings.DEBUG:
import debug_toolbar
urlpatterns = [
path('__debug__/', include(debug_toolbar.urls)),
] + urlpatterns
Run Code Online (Sandbox Code Playgroud)