2

它已經明確寫在Django Facebook的,他們推薦它與Userena使用:Django的,HOWTO連接(和程度),Facebook和Django的userena或類似

我們建議使用Django Userena。 Django註冊比使用 似乎更容易。儘管如此,它們都支持良好的包裝。到 使用django userena只需指向userena兼容性層即可。

AUTH_PROFILE_MODULE = 'django_facebook.FacebookProfile' 

我的問題來自AUTH_PROFILE_MODULE = 'django_facebook.FacebookProfile'一部分。 我已經開發了我自己的用戶配置文件Userena並且還根據自己的需要繼承了一些系統參與者,如學生和導師。所以我的設置是這樣的:

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')) 

由於事先..

回答

3

只是爲Facebook所需要的字段添加到現有的配置文件。

類用戶配置(UserenaBaseProfile,FacebookProfileModel): ....

(https://docs.djangoproject.com/en/dev/topics/db/models/#model-inheritance)

+0

完美...是的,你是對的......那麼「AUTH_PROFILE_MODULE」呢?它應該設置爲django-facebook或userena嗎? – Soask

+1

是保持原樣。 AUTH_PROFILE_MODULE ='profiles.UserProfile' Cheers, Thierry – Thierry