1

指示に従って Django-facebook をサイトにインストールし、ユーザーが登録、ログイン、友人の招待、サイトでの共有を行えるようにしました。Facebook アカウントを使用して、ユーザーを自分のサイトに簡単に登録できました。ただし、ログアウトする方法、ユーザーのFacebookユーザー名を取得する方法、および複数選択した友達の招待を統合する方法について、私は非常に混乱しています。

ここにmys settings.pyファイルがあります

TEMPLATE_CONTEXT_PROCESSORS = (
'django_facebook.context_processors.facebook',
'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.contrib.messages.context_processors.messages',
 )

 AUTHENTICATION_BACKENDS = (
'django_facebook.auth_backends.FacebookBackend',
'django.contrib.auth.backends.ModelBackend',
 )

 AUTH_PROFILE_MODULE = "appname.UserProfile"

FACEBOOK_APP_ID = "<myappID>"
FACEBOOK_APP_SECRET ="<myappsecretkey>"

models.py で、次のようにカスタム ユーザー プロファイルを作成しました。

# User model
class UserProfile(FacebookProfileModel):
user = models.OneToOneField(User)
last_login = models.DateTimeField(blank=True, null=True)
is_active = models.BooleanField(default=False)
playedHours = models.FloatField(default = 0)



playedSongs = models.ManyToManyField(Song, blank=True, null = True)
invitedFriends = models.ManyToManyField('self', blank = True, null = True)

def __unicode__(self):
    return self.facebook_name



 from django.db.models.signals import post_save
 from django.dispatch import receiver

 @receiver(post_save, sender=User)
 def create_profile(sender, instance, created, **kwargs):
  """Create a matching profile whenever a user object is created."""
  if created: 
    profile, new = UserProfile.objects.get_or_create(user=instance)

urls.py に次の 2 行を追加しましたが、何をするのかわかりません。

(r'^facebook/', include('django_facebook.urls')),
(r'^accounts/', include('django_facebook.auth_urls')),

私が正確に達成したいのは、ユーザーがFacebookにサインアップしたら、名前とプロフィール写真を取得して、友達を招待できるようにしたいということです。

私は(最新の)チュートリアルを探していましたが、無残に失敗しました。どんな助けでも大歓迎です!! ありがとう

4

1 に答える 1

0

それらをログアウトするには、auth_logout "/logout/" url が役立つ場合があります。

Facebook_name については、FacebookProfileModel をご覧ください: facebook_name = models.CharField(max_length=255, blank=True)

したがって、profile_object.facebook_name からアクセスできます。

于 2012-09-03T11:46:00.683 に答える