【发布时间】:2014-03-15 05:43:58
【问题描述】:
我目前正在使用 allauth 包,它扩展了用户模型以包含附加字段,例如 about me。我想知道是否有任何类似于登录的方法可以使用@decorator 来检查User.profile。代码如下所示,我认为它比我能解释得更好。
我正在尝试@user_passes_test(lambda u: u.profile.account_verified),它总是返回<bound method UserProfile.account_verified of <UserProfile>>
型号:
class UserProfile(models.Model):
user = models.OneToOneField(User, related_name='profile')
about_me = models.TextField(null=True, blank=True)
def account_verified(self):
"""
If the user is logged in and has verified hisser email address, return True,
otherwise return False
"""
if self.user.is_authenticated:
result = EmailAddress.objects.filter(email=self.user.email)
if len(result):
return result[0].verified
return False
查看:
@user_passes_test(lambda u: u.profile.account_verified)
def index(request):
//logic in here
【问题讨论】:
标签: python django decorator django-allauth