2

mod_wsgiでDjangoを実行していると、奇妙な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ステートメントでエラーが発生します。

Djangoのデバッグ情報に示されているように、私のPythonパスには、包含フォルダーとアプリフォルダーの両方が含まれています。コマンドラインからPythonを実行すると、問題なくインポートできapp.viewsます。うまく使ってアプリを実行できますpython manage.py runserver

stderrへのPythonパスも出力してみましたurls.pyが、アプリへのパスが含まれています。

何が起こっているのでしょうか?

__init__.py私が最初に考えたのは、appフォルダーにがない可能性があるということでしたが、あります。

ありがとう!

アップデート

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 に答える