django-allauth:删除注册表单中的密码字段



我在我的项目中使用Django allauth,再加上登录时的Django芝麻,它通过电子邮件发送链接,让用户无需密码即可登录。

然而,Django芝麻不处理注册。我正试图从注册表单中删除密码字段,因为密码不用于登录。我只希望用户必须输入他们的电子邮件地址。

这是我得到的:

FORMS.PY    
class CustomUserCreationForm(UserCreationForm):
class Meta(UserCreationForm.Meta):
model = CustomUser
fields = ('username', 'email',)
MODELS.PY
class CustomUser(AbstractUser):
# Add additional fields here. For example, a global-friendly name field
# name = models.CharField(blank=True, max_length=255)
def __str__(self):
return self.email

这个代码有效,但我已经尝试了互联网上的所有内容,但我无法删除密码字段。值得一提的是,我可以为每个用户设置一个伪密码,并隐藏字段,因为用户必须通过令牌电子邮件身份验证登录。

谢谢!

带着同样的问题来到这里。用popping解决了它(在这个问题中找到了提示(:

class MyCustomSignupForm(SignupForm):
def __init__(self, *args, **kwargs):
super(MyCustomSignupForm, self).__init__(*args, **kwargs)
self.fields.pop('password1')
self.fields.pop('password2')

相关内容

  • 没有找到相关文章

最新更新