Django rest auth自定义登录表单-无法识别输入的电子邮件:";必须包括\";电子邮件\“;及;密码\"&引用;

Django rest auth自定义登录表单-无法识别输入的电子邮件:";必须包括\";电子邮件\“;及;密码\"&引用;,django,django-rest-framework,django-forms,django-rest-auth,django-login,Django,Django Rest Framework,Django Forms,Django Rest Auth,Django Login,我在restauthLoginView上编写了一个非常简单的自定义登录表单,如下所示: 看法 形式 模板 当我输入电子邮件和密码,然后提交表单时,Django rest auth framework会出现以下错误: 作为测试,我随后在browserable API中提供的字段中输入相同的电子邮件地址,并成功登录 为什么rest auth无法识别来自自定义模板的电子邮件?我打赌这个错误与我的{{{form.email}没有正确实现有关。接下来解决了这个问题: 此解决方法涉及删除上面显示的sett

我在
restauth
LoginView
上编写了一个非常简单的自定义登录表单,如下所示:

看法 形式 模板 当我输入电子邮件和密码,然后提交表单时,Django rest auth framework会出现以下错误:

作为测试,我随后在browserable API中提供的字段中输入相同的电子邮件地址,并成功登录


为什么rest auth无法识别来自自定义模板的电子邮件?我打赌这个错误与我的
{{{form.email}
没有正确实现有关。

接下来解决了这个问题:

此解决方法涉及删除上面显示的settings.py中的行。并在用户应用程序中的
models.py
中分配
USERNAME\u字段='email'
,如中所述:

接下来解决了这个问题:

此解决方法涉及删除上面显示的settings.py中的行。并在用户应用程序中的
models.py
中分配
USERNAME\u字段='email'
,如中所述:

可能重复的可能重复的
class CustomLoginView(LoginView):

    def get(self, request):
        form = CustomUserLoginForm()
        print(form.get_user())
        return render(request, "api/test_template.html", context={"form": form})
class CustomUserLoginForm(AuthenticationForm):
    class Meta:
        model = CustomUser
        fields = ('email', 'password')
{% block content %}

    <div class="container">
        <form method="POST">
        {% csrf_token %}

            <div>
                <label for="{{ form.email.id_for_label }}">Email: </label>
                <input type="email" {{ form.email }}>
            </div>

            <div>
                <label for="{{ form.password.id_for_label }}">password: </label>
                <input type="password" {{ form.password }}>
            </div>

            <button style="background-color:#F4EB16; color:blue" class="btn btn-outline-info" type="submit">Login</button>
        </form>
        Don't have an account? <a href="/register" target="blank"><strong>register here</strong></a>!
    </div>
{% endblock %}
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = False

AUTHENTICATION_BACKENDS = (
 # Needed to login by username in Django admin, regardless of `allauth`
 "django.contrib.auth.backends.ModelBackend",

 # `allauth` specific authentication methods, such as login by e-mail
 "allauth.account.auth_backends.AuthenticationBackend",
)