Всегда вход в систему отклонен

Я написал адрес электронной почты и пароль, которые уже зарегистрированы в форме входа, но вход всегда отклоняется. Я написал в html, как

<div class="container">
            <form class="form-inline" action="{% url 'login' %}" method="post" role="form">
                {% csrf_token %}
            <div class="form-group">
                <label class="email_form">Email</label>
                <input for="id_email" name="email" type="text" value="" placeholder="Email" class="form-control"/>
            </div>
            <div class="form-group">
                <label class="password_form">Password</label>
                <input id="id_password" name="password" type="password" value="" minlength="8" maxlength="12" placeholder="Password" class="form-control"/>
            </div>

            <button type="submit" class="btn btn-primary btn-lg">Login</button>
            <input name="next" type="hidden" value="{{ next }}"/>
            </form>

            </div>

в формах.py

class RegisterForm(UserCreationForm):
    class Meta:
        model = User
        fields = ('username', 'email',)
    def __init__(self, *args, **kwargs):
        super(RegisterForm, self).__init__(*args, **kwargs)
        self.fields['username'].widget.attrs['class'] = 'form-control'
        self.fields['email'].widget.attrs['class'] = 'form-control'
        self.fields['password1'].widget.attrs['class'] = 'form-control'
        self.fields['password2'].widget.attrs['class'] = 'form-control'

class LoginForm(AuthenticationForm):
    def __init__(self, *args, **kwargs):
        __init__(*args, **kwargs)
        self.fields['email'].widget.attrs['class'] = 'form-control'
        self.fields['password'].widget.attrs['classF'] = 'form-control'

Я уже подтверждаю правильность адреса электронной почты и пароля на сайте администратора, но я, безусловно, прав, вводя адрес электронной почты и пароль в форме входа в систему. Поэтому я действительно не могу понять, почему я не могу войти в систему. Что не так в моем коде? Как я могу это исправить?


person user8681386    schedule 02.10.2017    source источник
comment
По умолчанию ModelBackend django использует для аутентификации username, а не email.   -  person schwobaseggl    schedule 02.10.2017
comment
@schwobaseggl О, правда? Разве я не могу войти в систему с помощью электронной почты и пароля с помощью Django?   -  person user8681386    schedule 02.10.2017
comment
Конечно, вы можете :) Установите USERNAME_FIELD = 'email' в своей пользовательской модели (если у вас есть пользовательская модель) или напишите собственный бэкэнд аутентификации, что довольно просто. Прочтите документы по аутентификации.   -  person schwobaseggl    schedule 02.10.2017
comment
Пользовательская модель может подойти, поскольку поле электронной почты НЕ уникально в пользовательской модели по умолчанию.   -  person schwobaseggl    schedule 02.10.2017
comment
Возможный дубликат Django — вход по электронной почте   -  person schwobaseggl    schedule 02.10.2017