为了让Fandjango工作,我该怎么办?

时间:2012-01-19 05:42:53

标签: python django facebook facebook-graph-api

Fandjango(一个用于Django的Facebook Graph API包装器)看起来很棒,所以我点了安装它,我就开始运行了,所以我想。我尝试复制readme中给出的基本示例。好吧,我在那里得到一个错误,说我在settings.py中没有一些设置,我在pydjango documentation找不到任何设置,所以我做了一点挖掘并找到了关于fandjango-example

这似乎是合理的最新版本,所以我接受了该页面上的建议,并在我的settings.py中添加了一些设置:

FACEBOOK_APPLICATION_ID = 181259711925270
FACEBOOK_APPLICATION_SECRET_KEY = '214e4cb484c28c35f18a70a3d735999b'
FACEBOOK_APPLICATION_NAMESPACE = 'myapp'

MIDDLEWARE_CLASSES = [
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'fandjango.middleware.FacebookMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
]

不幸的是,这给了我一个新的错误:

ImproperlyConfigured: Error importing middleware facebook.djangofb: "No module named facebook.djangofb"

更多谷歌搜索,我看到人们询问是否安装了pyfacebook。我看着我的“pip冻结”并没有找到它,所以我从github那里得到它:

pip install git+git://github.com/sciyoshi/pyfacebook.git

但现在我怀疑我引用了错误的facebook对象,因为我得到了:

'Facebook' object has no attribute 'user'

那么,我哪里出错了?

我在OS X上使用

运行Python 2.6
Django==1.3.1
South==0.7.3
certifi==0.0.6
distribute==0.6.19
facepy==0.6.4
fandjango==4.0.2
nose==1.1.2
pyfacebook==1.0a2  # will probably kill this
requests==0.8.9
wsgiref==0.1.2

(我还在AWS Ubuntu微实例上进行了测试,结果相同)

1 个答案:

答案 0 :(得分:2)

Fandjango与pyfacebook无关,也不依赖于pyfacebook。实际上,这些库是不兼容的,因为它们都向请求对象添加了facebook属性。如果你想使用Fandjango,你需要从中间件类中删除pyfacebook。

有关安装和配置说明,请参阅documentation