You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在django-allauth中将用户邮箱标记为已验证?

如何在django-allauth中将用户邮箱标记为已验证?

我来帮你搞定这个问题!当你通过python manage.py createsuperuser创建了超级用户,但因为填了假邮箱或者还没配置好SMTP服务,收不到验证邮件没法正常登录网站时,有两种简单的方法可以手动把用户邮箱标记为已验证:

方法一:通过Django Shell命令行操作

这是最直接的方式,步骤如下:

  1. 打开终端,进入你的Django项目根目录,运行以下命令进入Django交互Shell:
    python manage.py shell
    
  2. 在Shell里依次执行以下代码(记得替换成你的超级用户名):
    # 导入需要的模型
    from django.contrib.auth.models import User
    from allauth.account.models import EmailAddress
    
    # 替换成你的超级用户名,比如默认的admin
    user = User.objects.get(username="admin")
    
    # 获取或创建该用户的邮箱记录
    email_address, created = EmailAddress.objects.get_or_create(user=user, email=user.email)
    
    # 标记邮箱为已验证,并设为主邮箱
    email_address.verified = True
    email_address.primary = True
    email_address.save()
    

执行完这些步骤后,退出Shell再去网站登录,就不会再看到邮箱验证的提示啦。

方法二:用Python脚本快速处理

如果你需要频繁做这个操作,或者要批量处理多个用户,可以写一个简单的脚本:

  1. 在项目根目录创建一个名为verify_user_email.py的文件,内容如下(替换好项目名称和目标用户名):
    import os
    # 替换成你的项目settings模块路径,比如myproject.settings
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', '你的项目名.settings')
    import django
    django.setup()
    
    from django.contrib.auth.models import User
    from allauth.account.models import EmailAddress
    
    def mark_email_verified(username):
        try:
            user = User.objects.get(username=username)
            # 获取或创建邮箱记录
            email_addr, _ = EmailAddress.objects.get_or_create(user=user, email=user.email)
            email_addr.verified = True
            email_addr.primary = True
            email_addr.save()
            print(f"✅ 用户 {username} 的邮箱 {user.email} 已成功标记为已验证!")
        except User.DoesNotExist:
            print(f"❌ 找不到用户名 {username} 的用户,请检查输入!")
    
    if __name__ == "__main__":
        # 替换成你要处理的用户名
        mark_email_verified("admin")
    
  2. 运行这个脚本:
    python verify_user_email.py
    

核心原理其实就是操作django-allauth的EmailAddress模型,把对应邮箱记录的verified字段设为True,同时设置primary为True,确保这个邮箱是用户的主验证邮箱。

备注:内容来源于stack exchange,提问作者Flimm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 08:14:41