2

我遇到了一个奇怪的 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

在我的导入语句中,我得到一个错误。

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

我也尝试过打印到 stderr 的 python 路径urls.py,并且其中包含应用程序的路径。

会发生什么?

我的第一个想法是应用程序文件夹中可能没有__init__.py,但有。

谢谢!

更新

在 runserver 应用程序中,如果我尝试

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

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

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

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

4

2 回答 2

3

可能是一个循环依赖 - 里面的东西views正在导入另一个模块,它本身正在尝试导入views.

于 2011-02-25T16:45:37.133 回答
-2

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

于 2011-02-25T17:13:36.220 回答