[英]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.