You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django拆分settings为生产/开发环境后出现ModuleNotFoundError如何解决?

问题排查结论

你的猜测不正确,该报错和AUTH_USER_MODEL配置无关,核心原因是拆分settings目录后,base.py中的项目根目录计算错误,导致apps文件夹没有被正确加入Python模块搜索路径。

错误原因说明

单settings文件阶段,你的settings.py存放在core目录下,Path(__file__).resolve().parent.parent 计算得到的是项目根目录(即包含apps、core、media文件夹的上层目录)。
拆分settings后,base.py移动到了core/settings/子目录下,原有代码计算出的BASE_DIR实际是core目录,不是项目根目录,因此拼接出来的core/apps路径并不存在,Python无法搜索到apps下的各个应用模块,才会依次抛出找不到account、address的报错。

修复方案

修改base.py中的BASE_DIR计算逻辑,向上多回溯一层即可:

# 原有代码(错误)
# BASE_DIR = Path(__file__).resolve().parent.parent

# 修改后的代码(正确)
BASE_DIR = Path(__file__).resolve().parent.parent.parent

额外检查项

如果修改后仍有报错,请确认apps文件夹下存在空的__init__.py文件,否则Python不会将apps识别为可导入的包。


内容的提问来源于stack exchange,提问作者AlexisLP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 21:36:03