Django视图出现cleanse_setting错误及无限循环问题求助
问题解决步骤
根据你描述的情况(增删模型字段并迁移后,特定视图触发gunicorn日志中的django debug模块错误),可以按以下步骤排查解决:
检查迁移与数据库一致性
- 执行
python manage.py showmigrations,确认目标APP的迁移记录是否全部正确应用,有没有未应用或异常的迁移条目 - 直接查看数据库对应表的结构(比如PostgreSQL用
psql -d your_db -c "SELECT * FROM your_table LIMIT 1;",MySQL用DESC your_table;),确保表字段和当前models.py完全匹配,没有残留已删除的字段 - 如果发现迁移记录异常,可回滚到删除字段前的迁移版本,再重新生成并应用迁移:
python manage.py migrate <your_app_name> <previous_migration_id> python manage.py makemigrations python manage.py migrate
- 执行
清理缓存并重启服务
- 清理Django缓存:
python manage.py clearcache - 删除项目中所有
__pycache__目录(可执行find . -name "__pycache__" -type d -exec rm -rf {} \;) - 重启gunicorn服务:
sudo systemctl restart gunicorn
- 清理Django缓存:
排查视图与模板的字段引用
- 检查出问题的
view.py代码,确认是否存在引用已删除字段的逻辑(比如查询集、序列化器、实例属性调用) - 查看该视图对应的模板文件,排查是否有模板变量引用了已删除的字段
- 检查出问题的
完善日志与版本排查
- 查看完整的gunicorn异常日志:
journalctl -u gunicorn -e,获取完整堆栈跟踪,定位具体异常类型(如AttributeError、KeyError) - 若生产环境开启了
DEBUG=True,建议临时关闭该配置(改为DEBUG=False),避免debug模块的额外处理触发错误;若需保留DEBUG,可尝试升级到对应Django小版本的最新版,修复可能存在的debug模块bug
- 查看完整的gunicorn异常日志:
内容的提问来源于stack exchange,提问作者Mohammed Baashar
相关产品推荐
相关产品推荐

