我有以下文件夹结构
app/ app/helpers/ app/helpers/methodhelper.py app/methods/ app/methods/method.py
我正试图从methodhelper.py在method.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
已经存在
应该怎么做?
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'))
这使得我的应用程序可导入,而无需在模块路径中包含我的项目名称。
相关问题 更多 >
编程相关推荐