gpt4 book ai didi

需要 Django all-auth 电子邮件

转载 作者:行者123 更新时间:2023-12-03 22:47:20 24 4
gpt4 key购买 nike

在我的应用程序中,我需要用户使用他们的电子邮件和密码登录。使用 allauth 它创建一个注册表单,其中电子邮件字段是可选的,并且有一个用户名字段。

我希望我的注册具有三个字段:

  • 邮箱
  • 密码
  • 再次输入密码

  • 我曾尝试创建自定义表单,但由于某种原因它不起作用。我不知道如何从表单中删除用户名。
    class SignupForm(forms.Form):        
    email = forms.EmailField(label='Email', required=True)
    class Meta:
    model = get_user_model()
    def save(self, user):
    user.email = self.cleaned_data['email']
    user.save()

    它只需要让我正确注册用户,然后我可以处理其余的

    最佳答案

    这是一个老问题,但如果它在 future 对某人有所帮助,以下是 django-allauth 在其文档中的说明:

    ACCOUNT_AUTHENTICATION_METHOD (=”username” | “email” | “username_email”) Specifies the login method to use – whether the user logs in by entering their username, e-mail address, or either one of both.





    ACCOUNT_USERNAME_REQUIRED (=True) The user is required to enter a username when signing up. Note that the user will be asked to do so even if ACCOUNT_AUTHENTICATION_METHOD is set to email. Set to False when you do not wish to prompt the user to enter a username.



    所以在你的 settings.py 你可以这样做:
    ACCOUNT_EMAIL_REQUIRED = True
    ACCOUNT_UNIQUE_EMAIL = True
    ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
    ACCOUNT_USERNAME_REQUIRED = False
    ACCOUNT_AUTHENTICATION_METHOD = 'email'

    有关 django-allauth 配置的更多信息,请阅读此处:
    django-allauth documentation - configuration

    关于需要 Django all-auth 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23956288/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com