繁体   English   中英

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

[英]django-allauth : remove the password field in signup form

我在我的项目中使用了 Django-allauth,并结合了 login 中的 Django-sesame,它通过电子邮件发送链接,让用户无需密码即可登录。

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

这是我所拥有的:

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')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM