已安装django-debug-toolbar 3.1.1,运行时提示“No module named 'debug_toolbar.urls'”
Django Debug Toolbar 报错:No module named 'debug_toolbar.urls' 解决方法
问题背景
已在requirements.txt中指定安装django-debug-toolbar==3.1.1,并完成settings.py的INSTALLED_APPS、MIDDLEWARE_CLASSES配置,以及urls.py的路由添加,但启动服务器时仍报错:No module named 'debug_toolbar.urls'。
相关配置代码:
settings.py
INSTALLED_APPS = ( 'debug_toolbar', ) MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware', )
urls.py
if DEBUG: import debug_toolbar urlpatterns += url('__debug__/', include('debug_toolbar.urls'))
requirements.txt
Django django-debug-toolbar==3.1.1
修复步骤
验证依赖安装有效性
先确认当前Python环境是否正确安装了指定版本的debug-toolbar:pip show django-debug-toolbar若输出无结果或版本不符,重新安装依赖(确保激活了项目对应的虚拟环境):
pip install -r requirements.txt修正urls.py的路由语法
Django 2.0+已弃用url()函数,改用path()/re_path(),而django-debug-toolbar 3.x适配Django 2.2+,修改urls.py代码如下:from django.urls import include, path if DEBUG: import debug_toolbar urlpatterns += [path('__debug__/', include(debug_toolbar.urls))]直接引用
debug_toolbar.urls对象而非字符串,可避免模块路径解析错误。适配Django版本调整MIDDLEWARE配置
Django 1.10+将MIDDLEWARE_CLASSES重命名为MIDDLEWARE,若你的Django版本在此之上,更新settings.py配置:MIDDLEWARE = [ 'django.middleware.common.CommonMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware', # 保留其他原有中间件 ]旧配置虽兼容,但可能导致debug-toolbar模块加载异常。
确认DEBUG模式启用状态
检查settings.py中DEBUG = True是否正确设置,同时确保启动服务器时未通过命令行参数切换到生产配置(如--settings=xxx.settings.production)。
内容的提问来源于stack exchange,提问作者puranjan
相关产品推荐
相关产品推荐

