[英]No module named... in Django proyect
我有一个非常标准的 Django 项目,我找不到从 /middleware/utils/request.py 导入 /middleware/utils/compare.py 的方法
这是项目树:
|--middleware/
| |--utils/
| | |--compare.py
| | |--request.py
| |--__init__.py
| |--asgi.py
| |--settings.py
| |--urls.py
| |--views.py
| |--wsgi.py
|--manage.py
其中__init__.py
、 asgi.py
、 settings.py
、 urls.py
、 wsgi.py
没有大的修改。 ( __init__.py
是空的)
# middleware/views.py
from .utils.request import requests # This line works fine
# middleware/utils/request.py
from compare import compare # ModuleNotFoundError: No module named 'compare'
from .compare import compare # Attempted relative import beyond top-level package pylint(relative-beyond-top-level)
# ^^^ This line absolutly breaks my code, but it runs
from utils.compare import compare # ModuleNotFoundError: No module named 'utils'
from .utils.compare import compare # ModuleNotFoundError: No module named 'middleware.utils.utils'
注意: compare.py
有一个名为 function 的compare
,我也尝试重命名它但遇到了同样的问题。
这可能很明显,但我使用python manage.py runserver
运行项目
只需在utils
文件夹中添加空的__init__.py
即可。
并在这里阅读更多相关信息:
像这样更改文件树,
|--middleware/
| |--utils/
| |--|__init__.py # Added this file
| | |--compare.py
| | |--request.py
| |--__init__.py
| |--asgi.py
| |--settings.py
| |--urls.py
| |--views.py
| |--wsgi.py
|--manage.py
像这样导入,
from utils.compare import compare
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.