Django通过电子邮件确认链接区分数据库中已验证和未验证的用户

时间:2018-09-19 15:37:04

标签: python django django-allauth

我想区分已注册并通过电子邮件确认链接进行验证的用户,以及已注册但未通过电子邮件确认进行验证的用户。

我尝试了is_activeis_authenticated,但没有得到理想的结果。

1 个答案:

答案 0 :(得分:0)

如果您有自定义用户模型或某些辅助模型来存储其他用户信息,那么添加新字段是一个好的解决方案。如果您没有这些,并且不打算添加它们,则只需使用组即可。

首先创建一个名为“电子邮件已验证”的组。您可以通过django管理员或通过数据迁移来做到这一点。

Group.objects.create(name='Email Verified')

然后将用户标记为已通过电子邮件验证

email_verified_group = Group.objects.get(name='Email Verified')
the_user.groups.add(email_verified_group)

要检查用户是否已通过电子邮件验证

is_email_verified = the_user.groups.filter(name='Email Verified').exists()