0

Facebookをアプリエンジンで動作させるように接続しようとしているので、次の手順に従います。

http://www.slideshare.net/mrtrosen/lab305-django-facebook-connect-integration-example

手順の1つでは、middleware_classesに追加する必要があるため、settings.pyに以下を追加しました(上のプレゼンテーションのスライド18からコピー)。

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'facebook.djangofb.FacebookMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'facebookconnect.middleware.FacebookConnectMiddleware',
    )

ただし、アプリをローカルで表示すると(これをsettings.pyに追加する前に機能していました)、次のエラーが発生します。

不適切に構成された:ミドルウェアfacebook.djangofbのインポート中にエラーが発生しました:「facebook.djangofbという名前のモジュールがありません」

ただし、ターミナルにアクセスするとpythonを実行でき、「importfacebook.djangofb」と入力してもエラーは発生しません。

参考までに、Facebookパッケージは/Library/Python/2.6/site-packagesにあります。

なぜこれが起こっているのかについてのアイデアはありますか?私はしばらくこれに固執しているので、どんな助けでも大歓迎です。

ありがとう!

4

2 に答える 2

1

Google App Engine uses python 2.5 runtime I believe, thus you will have either move the facebook directory into the project as suggested above or move it over to the 2.5 site-packages if you have python 2.5 installed as well.

于 2009-12-16T21:24:27.837 に答える
0

すべてのモジュールは、アプリのフォルダー階層の下に存在する必要があります。sys.pathアプリのリクエスト ハンドラに必要なパスも必ず追加してください。

次のsys.path行に沿って何かに更新する必要があります。

root = os.path.split(__file__)[0]
sys.path.insert(0, os.path.join(root, 'folder1'))
sys.path.insert(0, os.path.join(root, 'folder2'))

フォルダfolderXの下に含まれている場所。appこの「パスの調整」は、アプリケーション内の各「リクエスト エントリ ポイント スクリプト」で行う必要があります。

于 2009-12-16T20:55:33.747 に答える