0

试图让 facebook 连接到应用程序引擎上工作,所以我遵循这些说明:

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

其中一个步骤需要我添加到我的 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,当我输入“import facebook.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'))

wherefolderX包含在app文件夹下。这种“路径调整”应该在应用程序中的每个“请求入口点脚本”中完成。

于 2009-12-16T20:55:33.747 回答