我的views.py变得臃肿,我决定通过创建一个包含所有小.py文件的./views
目录将其剪切成更小的模块。这是我在启动测试网络服务器时得到的结果:
File "/path/to/the/app/views/__init__.py", line 1, in <module>
from my_view import my_view
ImportError: No module named 'my_view'
我的./views
目录包含__init__.py
,其中有几行:
from my_view import my_view
from my_other_view import my_other_view
#etc...
./views/my_view.py
当然看起来像:
def my_view(request):
#etc...
我显然忽视了一些事情,但我无法思考。你能看到我犯的错误吗?
答案 0 :(得分:1)
我猜视图不在您的PYTHON_PATH
中。哪个是对的。但是这意味着你应该使用相对python导入:
from .my_view import my_view # note the leading dot
或者从项目根目录(应该在PYTHON_PATH
中)进行绝对导入:
from myapp.views.my_view import my_view