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以获得安装和配置说明。