我有一个奇怪的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
。
答案 0 :(得分:3)
可能是循环依赖 - views
中的某个内容正在导入另一个模块,该模块本身正在尝试导入views
。
答案 1 :(得分:-2)
您的网络服务器没有文件句柄。为守护进程模式重新配置WSGI应用程序。