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

allauth 用自定义字段替换用户名字段

如何解决allauth 用自定义字段替换用户名字段

我正在使用 allauth 我希望用户使用用户 ID 而不是用户名字段登录。当我尝试为其设置 setting.py 时

settings.py:

USERNAME_FIELD = None
ACCOUNT_AUTHENTICATION_METHOD = 'user_id'
ACCOUNT_USER_MODEL_USERNAME_FIELD = None
ACCOUNT_USERNAME_required = False

它给了我这个错误

断言错误在 /accounts/login/ 未提供异常消息

可以同时拥有用户名用户名,但我只想用用户名登录

forms.py:

class CustomLoginForm(LoginForm):
    user_id = forms.IntegerField(required= True,validators=[
        MinValueValidator(10_000_000_00),MaxValueValidator(99_999_999_99)
    ],label='User ID')
    class Meta:
        model = MyUser
        fields = ('user_id',)
        exclude = ('username',)
    def login(self,request,user):
      user.user_id = self.cleaned_data['user_id']

      user.save()
      return user,super(CustomLoginForm,self).login

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