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

Django Allauth 将用户名设置为 Gmail 地址

如何解决Django Allauth 将用户名设置为 Gmail 地址

我是 Django Allauth 的新手,有点困惑,需要帮助 我有一个包含以下字段的自定义用户模型

username = models.CharField(_('username'),max_length=130,unique=True)
full_name = models.CharField(_('full name'),blank=True)
is_staff = models.BooleanField(_('is_staff'),default=False)
is_active = models.BooleanField(_('is_active'),default=True)
date_joined = models.DateField(_("date_joined"),default=date.today)
phone_number_verified = models.BooleanField(default=False)
change_pw = models.BooleanField(default=True)
phone_number = models.BigIntegerField(unique=True,default=create_new_ref_number())
country_code = models.IntegerField(default='+91')
two_factor_auth = models.BooleanField(default=False)

我能够使用 gmail 登录成功注册用户。但是,在用户名字段中,保存了“用户”值。 我想将 gmail 中的电子邮件地址保存为用户名。我做了一些研究,似乎我需要写一些保存信号并添加一些设置,但我不确定在哪里写什么。我已经阅读了文档,但它有点令人困惑。

使用 SocialAccounts ,我可以获得照片和全名

def socialuser(self):
        data = SocialAccount.objects.get(user=self.id).extra_data  
        nameofuser = data.get('name')      
        return nameofuser 
    
    def socialuserphoto(self):
        data = SocialAccount.objects.get(user=self.id).extra_data  
        pictureurl = data.get('picture')      
        return pictureurl 

我使用下面的 href 进行注册登录用户

<a title="Google" class="socialaccount_provider google" style="text-decoration:none;" href="/accounts/google/login/?process=login">Sign in with Google</a>

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