django在app下新建test文件,运行报错from . import models ImportError: attempted relative import with no known parent package
时间: 2024-10-22 22:01:32 浏览: 22
这个问题通常是由于Django在执行测试时没有找到父包的路径,导致无法正确导入相对路径。你可以尝试以下几种解决方法:
1. 使用绝对导入而不是相对导入。在你的`test.py`文件中,将 `from . import models` 改为 `from your_app_name.models import *`,其中 `your_app_name` 替换为你的 Django app 名称。
2. 确保你在正确的环境中运行测试。如果你使用的是 PyCharm,请确保项目解释器配置正确,并且项目根目录设置为 Django 项目的根目录。
3. 检查你的 `sys.path`。你可以在 `test.py` 文件开头加入以下代码来查看当前的 `sys.path`:
```python
import sys
print(sys.path)
```
确认 Django 项目根目录是否在 `sys.path` 中。如果不在,可以手动添加:
```python
import sys
sys.path.append('/path/to/your/project/root')
```
4. 确保你的 Django 项目结构正确。通常应该包括 `manage.py`、项目包(与项目同名的目录)以及 `apps` 目录等。
阅读全文