Django报错ModuleNotFoundError: No module named 'store.products'求解
Django导入应用报错
ModuleNotFoundError: No module named 'store.products'排查方案 检查项目目录结构
确认项目层级是否符合规范,两种常见正确结构如下:
情况1:products是独立应用(与主项目store同级)项目根目录/ store/ # 主项目(含settings.py) __init__.py settings.py ... products/ # 新建应用 __init__.py admin.py models.py ...情况2:products是store的子应用
项目根目录/ store/ __init__.py settings.py products/ __init__.py admin.py ...注意:所有Python包目录必须包含
__init__.py文件(可以是空文件),否则无法被识别为模块。修正INSTALLED_APPS配置
打开store/settings.py,找到INSTALLED_APPS列表,根据目录结构调整注册方式:- 若为情况1:添加
'products'到列表中 - 若为情况2:添加
'store.products'到列表中
- 若为情况1:添加
验证Python路径
在项目根目录启动Python交互环境,执行命令检查路径:import sys from pathlib import Path BASE_DIR = Path(__file__).resolve().parent.parent print(BASE_DIR in sys.path)如果输出
False,在settings.py开头添加代码将项目根目录加入Python路径:import sys from pathlib import Path BASE_DIR = Path(__file__).resolve().parent.parent if str(BASE_DIR) not in sys.path: sys.path.append(str(BASE_DIR))检查拼写与大小写
确认store、products的目录名,与settings中注册的名称完全一致(Django对模块名大小写敏感)。清理缓存并重启服务
执行命令清理缓存后重启开发服务器:python manage.py clearcache python manage.py runserver
内容的提问来源于stack exchange,提问作者FRAMEREY
相关产品推荐
相关产品推荐

