我有一個奇怪的Django問題,用mod_wsgi運行Django。擋板:Django「無法導入app.views」,但可以在WSGI中導入應用程序?
Django的是找到urls.py
,然後說:
ViewDoesNotExist: Could not import app.views. Error was: No module named views
奇怪的是,如果我有
import app
在import語句
在urls.py
我沒有得到一個錯誤(直到達到app.views
如上所述),但如果我有
from app import views
在我的導入語句中,我收到錯誤。
我的Python路徑,如圖Django的調試信息,既有包含文件夾,並在其上的應用程序文件夾中。如果我從命令行運行Python,我可以導入app.views
就好。我可以運行應用程序使用python manage.py runserver
就好了。
我試着打印Python路徑從urls.py
到stderr過了,它有它到App路徑。
可能會發生什麼?
我首先想到的是,有可能無法在應用程序文件夾中的__init__.py
,但是有。
謝謝!
UPDATE
在runserver應用程序,如果我嘗試
print app.__file__
>> \path\to\app\__init__.py
但在WSGI版本,我只看到:
print app.__file__
>> \path\to\app\
換句話說,它只是不發現__init__.pyc
。
我把它換成views.py'的'內容'與打印「hello'',但仍是同樣的錯誤。哎呀! – AP257 2011-02-25 16:56:54
另外,我可以使用'python manage.py runserver'運行Django應用程序。這個問題只存在於WSGI中。 – AP257 2011-02-25 17:04:32
如果無法找到循環導入,則可以嘗試在'http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html'末尾描述的WSGI腳本,如解決方法。 – 2011-02-27 06:29:56