1

私のプロジェクトは /home/projects/testing の下にあり、これを Centos マシンの /etc/httpd/conf/httpd.conf ファイルの下部に追加していますが、機能していません。

<Location "/testing/">
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE testing.settings
    PythonOption django.root /testing
    PythonDebug On
    PythonPath "['/home/projects/'] + sys.path"
</Location>

しかし、たとえばhttp://localhost/testing/jobsをリクエストすると、次のようになります。

Mod_python エラー:「PythonHandler django.core.handlers.modpython」

トレースバック (最新の呼び出しが最後):

  HandlerDispatch のファイル「/usr/lib/python2.4/site-packages/mod_python/apache.py」の 299 行目
    結果 = オブジェクト (必須)

…………

 ファイル "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/conf/__init__.py"、75 行目、__init__ 内
    raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it has syntax errors?): %s" % (self.SETTINGS_MODULE, e)

ImportError: 設定 'testing.settings' をインポートできませんでした (sys.path にありますか? 構文エラーがありますか?): testing.settings という名前のモジュールはありません

4

2 に答える 2

3

プロジェクトは "testing" を含まないパスを使用するため、PythonPath に projects フォルダーと testing フォルダーの両方が必要です。

PythonPath "['/home/projects/', '/home/projects/testing/'] + sys.path"
于 2010-03-30T12:36:47.807 に答える
0

パスは問題ないように見えます。アイテムがsys.path末尾のスラッシュで機能することを再確認しました。

これはファイルのアクセス許可の問題であることをお勧めします。

  • Apache を実行しているユーザーは、プロジェクト ファイルにアクセスできますか?
  • selinux はアクセスを妨げていますか?
于 2010-03-30T12:47:18.737 に答える