2

Django-facebookで明示的に書かれており、Userenaでの使用を推奨しています。

DjangoUserenaの使用をお勧めします。Django登録よりも操作が簡単なようです。どちらもサポートされており、優れたパッケージです。django userenaを使用するには、userena互換性レイヤーをポイントするだけです。

AUTH_PROFILE_MODULE = 'django_facebook.FacebookProfile'

私の質問はAUTH_PROFILE_MODULE = 'django_facebook.FacebookProfile'一部から来ています。私はUserenaで独自のUserProfileを開発し、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'))

よろしくお願いします。

4

1 に答える 1

3

Facebookに必要なフィールドを既存のプロファイルに追加するだけです。

クラスUserProfile(UserenaBaseProfile、FacebookProfileModel):...。

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

于 2012-06-21T10:17:11.987 に答える