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