https://github.com/tschellenbach/Django-facebook/tree/master/facebook_exampleの django-facebook のチュートリアルと例に従いました
私はそれを稼働させています(syncdbと移行を実行し、javascriptとcssコードをテンプレートに統合したように)。
テンプレートのリンクをクリックすると、Facebook に正常に接続され、認証できます。ただし、リダイレクトすると、エラーが発生します。
Request Method: POST
Request URL: http://127.0.0.1:8000/facebook/connect/?facebook_login=1
Django Version: 1.5.1
Exception Type: AttributeError
Exception Value: user or profile didnt have attribute facebook_id
Exception Location: /usr/local/lib/python2.7/dist-packages/django_facebook/utils.py in get_user_attribute, line 109
Python Executable: /usr/bin/python
Python Version: 2.7.3
これは django-facebook のコード内にあり、セットアップに何か問題があったかどうかはわかりません。抽象 FacebookProfileModel クラスを拡張する独自の UserProfile モデルを作成しました (FacebookModel も使用してみました)。
from django_facebook.models import FacebookProfileModel
from django.db.models.signals import post_save
class UserProfile(FacebookProfileModel):
user = models.OneToOneField('auth.User')
def create_profile(sender, instance, created, **kwargs):
if created:
UserProfile.objects.create(user=instance)
post_save.connect(create_profile, sender=User)
すべてヌルですが (外部キーで使用されているユーザー ID を除く)、データベースにプロファイルが作成されていることがわかります。何が間違っているのかわかりません。