作業中のアプリケーションに django-facebook をインストールしましたが、多くの問題が発生しています。ここでdjango-facebookのインストールをたどりましたが、適切に実装できませんでした。
facebook/example で facebook に接続しようとすると、ユーザーに facebook 資格情報の入力を求めるプロンプトが表示されますが、次のエラーが発生するため、次のページにリダイレクトできません:
ユーザーまたはプロファイルに属性 facebook_id がありませんでした
manage.py syncdb を実行しましたが、facebook/example で facebook に接続した後、facebook の属性は DB で「null」のままです。
ドキュメントのように、コードに以下を追加しました。
アカウント/model.py
from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django_facebook.models import FacebookProfileModel
class User_info(FacebookProfileModel):
user_id = models.ForeignKey(User)
dob = models.DateField(blank=True, null=True)
contact = models.IntegerField(max_length=20, blank=True, null=True)
avatar = models.ImageField(upload_to='user_images', default='user_images/root.jpeg', null=True, blank=True)
def create_facebook_profile(sender, instance, created, **kwargs):
if created:
User_info.objects.create(user_id=instance)
post_save.connect(create_facebook_profile, sender=User)
設定.py
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'account',
'django_facebook',
)
TEMPLATE_CONTEXT_PROCESSORS =(
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.core.context_processors.tz',
'django.core.context_processors.request',
'django_facebook.context_processors.facebook',
)
AUTHENTICATION_BACKENDS = (
'django_facebook.auth_backends.FacebookBackend',
'django.contrib.auth.backends.ModelBackend',)
FACEBOOK_APP_ID = 'xxxxxxxxxxxxx'
FACEBOOK_APP_SECRET = 'xxxxxxxxxxxxxx'
urls.py
urlpatterns = patterns('',
url(r'^accounts/login/$', login, {'template_name': 'login.html'}),
url(r'^accounts/logout/$', logout, {'next_page': '/accounts/login/'}, name='auth_logout',),
url(r'^accounts/signup/$', account.views.register, name='signup'),
url(r'^facebook/', include('django_facebook.urls')),
)
これについて私を助けてください。ありがとう。