我在我的项目中使用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
此代码有效,但是我已经尝试了Internet上的所有内容,但无法删除密码字段。对于它的价值,我可以为每个用户输入一个虚拟密码并隐藏字段,因为用户必须通过令牌电子邮件身份验证登录。
谢谢!
答案 0 :(得分:0)
带着同样的问题来到这里。用弹出来解决它(在 this question 中找到提示):
class MyCustomSignupForm(SignupForm):
def __init__(self, *args, **kwargs):
super(MyCustomSignupForm, self).__init__(*args, **kwargs)
self.fields.pop('password1')
self.fields.pop('password2')