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

如何修改Django项目根目录并解决模块导入报错问题?

Django项目根目录调整后的模块导入问题

我有一个简易Django项目,初始目录结构如下:

.
├── env
├── proj
│   ├── proj
│   │   ├── __init__.py
│   │   ├── settings.py
│   │   ├── urls.py
│   │   └── wsgi.py
│   ├── api
│   │   ├── __init__.py
│   │   ├── serializers.py
│   │   ├── urls.py
│   │   └── views.py
│   ├── base
│   │   ├── __init__.py
│   │   ├── admin.py
│   │   ├── apps.py
│   │   ├── models.py
│   │   ├── tests.py
│   │   └── views.py
│   ├── db.sqlite3
│   └── manage.py
└── README.md 

原项目中,外层proj文件夹作为项目根目录,api/views.py中使用from base.models import Item导入模块,在settings.py中打印sys.path可见其包含/path/to/wrapper/proj。

我希望将项目根目录提升一级至/path/to/wrapper,执行了以下操作:

  • 进入PyCharm的Settings > Project structure,将内容根改为/path/to/wrapper
  • 在settings.py中为BASE_DIR追加一个.parent,修改为:
    BASE_DIR = Path(__file__).resolve().parent.parent.parent
    
  • 将导入语句修改为from proj.base.models import Item

操作后出现报错:ModuleNotFoundError: No module named 'proj.base',打印sys.path发现仍包含/path/to/wrapper/proj。请问该路径来自何处?如何修改?

补充说明:修改内容根后仅影响语法高亮,PyCharm认为带proj.的导入是正确的;尝试修改源根但无效果(仅根目录变为蓝色),似乎源根默认等同于内容根。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 11:07:31