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.6Django==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微实例上进行了测试,结果相同)
答案 0 :(得分:2)
Fandjango与pyfacebook无关,也不依赖于pyfacebook。实际上,这些库是不兼容的,因为它们都向请求对象添加了facebook
属性。如果你想使用Fandjango,你需要从中间件类中删除pyfacebook。
有关安装和配置说明,请参阅documentation。