我按照指示在我的网站上安装了Django-facebook,允许用户在我的网站上注册、登录、邀请朋友和分享内容。我可以很容易地注册用户到我的网站使用他们的facebook帐户。然而,我很困惑如何注销他们,检索用户的facebook用户名,以及如何集成mutliselect好友邀请的事情。
这是我的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中,我添加了这两行代码,但我不知道它们做了什么:
(r'^facebook/', include('django_facebook.urls')),
(r'^accounts/', include('django_facebook.auth_urls')),我真正想要实现的是,一旦用户在facebook上注册,我想得到他们的名字和头像,并允许他们邀请他们的朋友。
我一直在寻找(最新的)教程,但惨遭失败。任何帮助都非常感谢!谢谢
发布于 2012-09-03 19:46:01
要将它们注销,auth_logout "/logout/“url可能会有所帮助。
关于Facebook_name,看看FacebookProfileModel: facebook_name = models.CharField(max_length=255,blank=True)
所以你可以通过profile_object.facebook_name访问它。
https://stackoverflow.com/questions/10603785
复制相似问题