微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在allauth中通过电子邮件验证帐户,同时播种数据库

如何解决如何在allauth中通过电子邮件验证帐户,同时播种数据库

无法找到如何在通过验证的情况下在 seed.py 中创建用户方法(我的项目中有电子邮件验证,该验证设置为强制性)。用户创建有效,但我想要激活帐户。 我正在使用 django-allauth 包。设置 verificated/is_active = True 没有帮助。 这是我的seed.py

def add_arguments(self,parser):
    parser.add_argument(
        "--create_user",action="store_true",help="Create user",)
def handle(self,*args,**options):
    if options["create_user"]:
        # Todo: find the way to pass account verification
        user = CustomUser.objects.create_user(
            first_name="A",last_name="A",email="test@test.com",password="Password123",)
        for _ in range(2):
            EventFactory.create(
                is_checked_by_admin=True,private=False,host=user,event_starts=datetime(1987,8,15,9,51,25),)
            EventFactory.create(
                is_checked_by_admin=True,)

这是account_manager

class CustomUserManager(BaseUserManager):
    def create_user(
        self,email,first_name,last_name,password,):
        if not email:
            raise ValueError(_("User must have an email"))
        if not password:
            raise ValueError(_("User must have a password"))
        if not first_name:
            raise ValueError(_("User must have a first name"))
        if not last_name:
            raise ValueError(_("User must have a last name"))

        email = self.normalize_email(email)
        custom_user = self.model(
            email=email,first_name=first_name,last_name=last_name,)
        custom_user.set_password(password)
        custom_user.save()
        return custom_user

    

感谢您的帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。