它已在 Django-facebook 中明确编写,他们建议将其与 Userena 一起使用:
我们推荐使用 Django Userena。它似乎比 Django 注册更容易使用。两者都受支持并且是很好的软件包。要使用 django userena,只需指向 userena 兼容层。
AUTH_PROFILE_MODULE = 'django_facebook.FacebookProfile'
我的问题来自AUTH_PROFILE_MODULE = 'django_facebook.FacebookProfile'
部分。我在Userena中开发了自己的UserProfile ,并根据自己的需要继承了一些系统 Actor,例如 Student 和 Tutors。所以我的设置是这样的:
AUTH_PROFILE_MODULE = 'profiles.UserProfile'
在 django-facebook 中还有一个很棒的示例项目,用于混合 userena 和 django-facebook 设置。但是我的问题依然存在。。
我应该用facebook的代码替换我自己的代码吗?
这是我的代码:
from django.db import models
from django.contrib.auth.models import User
from django.utils.translation import ugettext as _
from django.db.models import permalink
from userena.models import UserenaBaseProfile
from courses.models import Course
class UserProfile(UserenaBaseProfile):
user = models.OneToOneField(User, unique=True, verbose_name=_('user'), related_name='user_profile')
department = models.ForeignKey('Department' , null = True , blank = True , related_name=_('user'))
name = models.CharField(max_length = 100)
birthday = models.DateField()
def __unicode__(self):
return self.name
class Student(UserProfile):
courses = models.ManyToManyField(Course , null = True, blank = True, related_name = _('student'))
提前谢谢..