困惑:Django“无法导入app.views”但可以导入应用程序,在WSGI?

时间:2011-02-25 16:43:30

标签: python django django-views mod-wsgi django-wsgi

我有一个奇怪的Django问题,用mod_wsgi运行Django。

Django找到urls.py,然后说:

ViewDoesNotExist: Could not import app.views. Error was: No module named views

奇怪的是,如果我有

import app
urls.py的导入语句中

我没有收到错误(直到它如上所述app.views),但如果我有

from app import views

在我的import语句中,我收到错误。

我的python路径,如Django调试信息所示,包含了包含文件夹和app文件夹。如果我从命令行运行Python,我可以导入app.views就好了。我可以使用python manage.py runserver运行应用程序就好了。

我也试过从urls.py打印到stderr的python路径,并且它有app的路径。

可能会发生什么?

我的第一个想法是app文件夹中可能没有__init__.py,但有。{/ p>

谢谢!

更新

在runserver应用中,如果我尝试

print app.__file__
>> \path\to\app\__init__.py

但在wsgi版本中,我只看到:

print app.__file__
>> \path\to\app\

换句话说,它只是找不到__init__.pyc

2 个答案:

答案 0 :(得分:3)

可能是循环依赖 - views中的某个内容正在导入另一个模块,该模块本身正在尝试导入views

答案 1 :(得分:-2)

您的网络服务器没有文件句柄。为守护进程模式重新配置WSGI应用程序。