我有以下文件夹结构
app/ app/helpers/ app/helpers/methodhelper.py app/methods/ app/methods/method.py
我正在尝试从method.per中的methodhelper.py中导入一个函数 所以我尝试了以下内容:
import app.helpers.methodhelper OR from app.helpers.methodhelper import function1 OR import helpers.methodhelper
我得到了:
"No module named app.helpers.methodhelper"
需要注意的重要事项:helpers/__init__.py
已存在
应该怎么做?
答案 0 :(得分:3)
您的Django项目的默认路径位于项目的根目录中(manage.py文件所在的位置)。您可以将下面的子目录添加到PYTHONPATH(通过附加到sys.path可以轻松完成),也可以使用完整的模块路径导入该功能:
from projectname.app.helpers.methodhelper import function1
当我启动Django项目时,我总是添加
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
到我的settings.py
。此路径类似于/home/kyle/django_project_name/
。其中直接是manage.py
。
从那里,也在我的settings.py
中,我包括:
sys.path.append(os.path.join(PROJECT_ROOT, 'django_project_name'))
这使我的应用程序可导入,而无需在模块路径中包含我的项目名称。
答案 1 :(得分:0)
您需要将模块添加到 settings.py 文件
中