Fandjango(适用于Django的Facebook Graph API包装器)看起来很棒,因此我点安装它,然后就可以运行了,所以我认为。我尝试复制readme中给出的基本示例。好吧,我收到一个错误消息,说我的settings.py中没有一些我找不到的pydjango documentation都未提及的设置,所以我做了一些挖掘,以了解有关。

这似乎是最新的消息,所以我采纳了该页面上的建议,并在我的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。我查看了“冻结点”,但是没有找到,所以我从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微实例上对其进行了测试,结果相同)

最佳答案

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

请参考documentation以获得安装和配置说明。

09-25 17:14