如何导入位于(从测试文件夹中)的模块,然后返回我的应用程序文件夹结构?
在我想要的app_test.py文件夹中
from app.models import User
正在运行
/bin/python app_test.py
我得到了
no modules named app.models
我有一个app_test.py文件,直到我做了一些改组,现在我不确定为什么我的导入在我的测试文件夹中运行测试时无效。我在我的应用程序主文件夹中进行了维护,这里的基本布局减去了多余的文件夹/文件:
/application
/(leaving out folders bin build lib local...)
/src
/test
__init__.py
app_test.py
/app
models.py
forms.py
__init__.py
views.py
/static
/templates
/tmp
我的导入应该是什么?我注意到mega教程只使用了test.py文件而不是文件夹。这是最好的方法,如果不是,我的测试文件夹应该放在哪里?这让我疯了。
答案 0 :(得分:4)
您需要从顶部运行app_test.py(即“python test / app_test.py”)或修复app_test.py中的python路径:
import os
import sys
topdir = os.path.join(os.path.dirname(__file__), "..")
sys.path.append(topdir)