4

Flask を使用して小さな Python Web アプリケーションを作成しました。これを alwaysdata.net でホストしたいと考えていました。サブドメインに mod_wsgi を既にインストールしていますが、アプリのメイン モジュールをインポートしようとすると、見つからないために失敗します。すべてのファイルは /www フォルダーにあります。

ファイルを別の場所に配置する必要がありますか? 現在の作業ディレクトリを .wsgi ファイルに含めようとしましたが、まだ機能しません。

参考までに、私の .wsgi は次のようになります。

import os
import sys
sys.path.append(os.getcwd())
from ngl import app as application

私のアプリケーションは ngl.py と呼ばれ、.wsgi ファイルと同じフォルダーにあります。

ありがとう!

4

1 に答える 1

12

mod_wsgi の下の現在の作業ディレクトリは、WSGI スクリプトが配置されている場所ではないため、os.getcwd() を使用しないでください。見る:

http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Application_Working_Directory

必要なことを行うには、次を使用します。

sys.path.append(os.path.dirname(__file__))

これは、__file__ 変数に記録されている WSGI スクリプト ファイルの名前のディレクトリ パス コンポーネントを取得することによって、WSGI スクリプト ファイルが存在するディレクトリを計算しています。

于 2011-06-29T23:44:20.583 に答える