我正在使用django和mod_python(我知道它已被弃用 - 我只是为了练习而这样做),并且收到以下错误 -
"Could not import project.views. Error was: No module named app.models"
我也在其他几个地方获得'No module named app.models"
。我的syncdb
工作正常,如果我进入manage.py shell
,我可以很好地导入模型。为什么会发生这种情况,我需要改变什么?谢谢。
答案 0 :(得分:1)
你应该到处使用绝对导入。如果您的项目结构如下:
/project/settings.py
/project/app/models.py
/project/app/views.py
在INSTALLED_APPS
中,您将使用project.app
。在app
中,您可以将模型导入视图中:import project.app.models
等。您也可以尝试调整PYTHONPATH
,以便您的导入有效。运行./manage.py
时,您在项目文件夹中,Python会自动将其添加到PYTHONPATH
。这在大多数部署方案中都不会自动发生(mod_python
或其他方式)。