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

Django自定义命令执行时报ModuleNotFoundError,请求排查错误原因

Django自定义命令send_birthday_emails导入报错排查

1. 检查App注册与模块结构

  • 确认EVENTS已添加到项目settings.py的INSTALLED_APPS列表中,格式为'EVENTS'(注意大小写需匹配实际目录名)
  • 检查EVENTS目录、app/management、app/management/commands这几个目录下是否都存在__init__.py文件(空文件即可,Python需要它识别为可导入模块)

2. 修正模型导入路径

IDE自动补全的路径可能引入了项目根目录名(Employeetable),不符合Django导入规范。将导入语句修改为直接从App名导入:

from EVENTS.models import Event, EmailTemplate

如果实际App目录是小写events,则对应改为from events.models import Event, EmailTemplate(Python模块名大小写敏感)

3. 确认命令执行路径

确保在项目根目录(即manage.py所在的目录)下执行命令:

python manage.py send_birthday_emails

若在子目录执行,Python无法识别项目模块路径,会导致导入失败

4. 排查Python路径(可选)

若以上步骤无效,可在自定义命令开头添加代码打印当前Python路径,确认项目根目录是否在路径中:

import sys
print(sys.path)

执行命令后查看输出,若项目根目录不在列表中,优先保证在根目录执行命令(不推荐手动修改路径)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 20:17:39