from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.contrib.auth.models import User
from userena.models import UserenaLanguageBaseProfile
import datetime
class Profile(UserenaLanguageBaseProfile):
""" Default profile """
GENDER_CHOICES = (
(1, _('Male')),
(2, _('Female')),)
user = models.OneToOneField(User,
unique=True,
verbose_name=_('user'),
related_name='profile')
gender = models.PositiveSmallIntegerField(_('gender'),
choices=GENDER_CHOICES,
blank=True,
null=True)
website = models.URLField(_('website'), blank=True, verify_exists=True)
location = models.CharField(_('location'), max_length=255, blank=True)
birth_date = models.DateField(_('birth date'), blank=True, null=True)
about_me = models.TextField(_('about me'), blank=True)
如您所见,userena提供了一个抽象类,该类将用户作为一对一字段。在
另一方面,django social auth知道如何对不同的社交服务进行身份验证,并在数据库中填充auth_user表。django social auth更改的其他表是django session和social\u auth_usersocialauth。这意味着django social auth知道如何进行身份验证、处理会话并聚合诸如令牌之类的额外数据。在
我不太明白你在想什么。但是,要考虑到:
1 Userena提供与用户连接的抽象模型。使用源代码中的示例:
如您所见,userena提供了一个抽象类,该类将用户作为一对一字段。在
另一方面,django social auth知道如何对不同的社交服务进行身份验证,并在数据库中填充auth_user表。django social auth更改的其他表是django session和social\u auth_usersocialauth。这意味着django social auth知道如何进行身份验证、处理会话并聚合诸如令牌之类的额外数据。在
如果您想要的只是使用userena向用户添加额外的数据,那么可以在simpler form中完成。在
如果:
更新:如果您想同时拥有两个身份验证,请看一下这个nice project。在
相关问题 更多 >
编程相关推荐