Django后台登录报错:'NoneType'对象不可迭代
Django后台登录页触发TypeError: 'NoneType' object is not iterable 问题解决
访问Django后台登录页面(http://127.0.0.1:8000/admin/login/?next=/admin/)时出现TypeError,错误提示为'NoneType' object is not iterable,异常来自debug_toolbar组件的模板面板代码中。
错误详细信息
TypeError at /admin/login/ 'NoneType' object is not iterable 请求方法:GET 请求URL: http://127.0.0.1:8000/admin/login/?next=/admin/ Django版本:4.1.3 异常类型:TypeError 异常值: 'NoneType' object is not iterable 异常位置:E:\mohammad\Dijongo\myprojects\Greany\lib\site-packages\debug_toolbar\panels\templates\panel.py,第47行,_request_context_bind_template函数中 触发于:django.contrib.admin.sites.login Python可执行文件:E:\mohammad\Dijongo\myprojects\Greany\Scripts\python.exe Python版本:3.10.1 Python路径: ['E:\\mohammad\\Dijongo\\myprojects\\Greany\\src', 'C:\\Program Files\\Python310\\python310.zip', 'C:\\Program Files\\Python310\\DLLs', 'C:\\Program Files\\Python310\\lib', 'C:\\Program Files\\Python310', 'E:\\mohammad\\Dijongo\\myprojects\\Greany', 'E:\\mohammad\\Dijongo\\myprojects\\Greany\\lib\\site-packages'] 服务器时间: 2022年11月22日 星期二 17:41:41 +0000
可行解决方法
- 临时禁用Debug Toolbar:打开项目
settings.py,将debug_toolbar从INSTALLED_APPS列表中移除,同时删除MIDDLEWARE里的debug_toolbar.middleware.DebugToolbarMiddleware配置项,重启服务后验证登录页是否正常访问。 - 升级/降级Debug Toolbar到兼容版本:当前Django版本为4.1.3,需安装适配该版本的debug_toolbar。执行以下命令安装兼容版本:
(4.0.0版本适配Django 3.2至4.2版本,可根据实际情况调整版本号)pip install django-debug-toolbar==4.0.0 - 检查Debug Toolbar配置:确认
settings.py中已正确设置INTERNAL_IPS,例如添加INTERNAL_IPS = ['127.0.0.1'],避免因IP识别问题导致组件运行异常。
内容的提问来源于stack exchange,提问作者Mohammad Wael Sarhan
相关产品推荐
相关产品推荐

