Django删除book应用后启动报ModuleNotFoundError: No module named 'book'如何解决
问题处理步骤
- 清理旧应用残留迁移数据
你之前为book应用生成过迁移记录,删除应用后未清理对应数据会导致Django启动校验失败。先删除项目根目录下所有和book应用相关的迁移文件,同时进入项目使用的数据库,删除django_migrations表中app字段值为book的全部记录。 - 校验配置文件
- 打开
settings.py检查INSTALLED_APPS配置:确认旧的book应用已经从列表中移除,新创建的应用名称已经正确注册,拼写和实际应用文件夹名完全一致 - 打开项目根目录的
urls.py,删除之前指向book应用的路由规则,避免路由解析失败
- 清理编译缓存
删除项目目录下所有__pycache__文件夹,也可以执行find . -name "*.pyc" -delete命令清理全部Python编译缓存文件,之后重新执行python3 manage.py runserver尝试启动。
辅助定位需要的额外信息
- 完整的报错栈文本内容,不要仅提供截图
- 新创建应用的名称,以及
INSTALLED_APPS的完整配置内容 - 删除旧
book应用的具体操作,是否仅删除了应用文件夹,未同步修改关联配置 - 当前使用的Django版本号,可执行
python3 manage.py --version获取
内容的提问来源于stack exchange,提问作者Anuprasad
相关产品推荐
相关产品推荐

