Ошибки не отображаются в форме входа в Django

В моем проекте Django я использую django.auth для аутентификации. У меня есть два одинаковых HTML-шаблона для регистрации и входа. Проблема в том, что если для регистрации отображение ошибок (например, пароли не совпадают, пароль слишком короткий) работает, то для входа в систему - нет.

Например, если я введу неправильное имя пользователя и пароль и нажму кнопку отправки, ошибки не появятся, страница обновится, имя пользователя останется в поле ввода, а поле пароля будет пустым. Вот и все. Если я ввожу правильные учетные данные, то я вхожу в систему правильно. Если я отображаю форму с помощью {{ form.as_p }}, ошибки работают нормально.

Ниже приведены обе формы:

Регистрация:

<form method="post">
    {% csrf_token %}

    <!-- Username -->
    {% if form.username.errors %}
    <ul>
        {% for error in form.username.errors %}
            <li class="small-red-text">{{ error }}</li>
        {% endfor %}
    </ul>
    {% endif %}
    {{form.username|add_class:"form-control"|attr:"id:register-username-input"|attr:"placeholder:Username"}}

    <!-- Password 1 -->
    {% if form.password1.errors %}
    <ul>
        {% for error in form.password1.errors %}
            <li class="small-red-text">{{ error }}</li>
        {% endfor %}
    </ul>
    {% endif %}
    {{form.password1|add_class:"form-control"|attr:"placeholder:Password"}}

    <!-- Password 2 -->
    {% if form.password2.errors %}
    <ul>
        {% for error in form.password2.errors %}
            <li class="small-red-text">{{ error}}</li>
        {% endfor %}
    </ul>
    {% endif %}
    {{form.password2|add_class:"form-control"|attr:"id:register-password-input"|attr:"placeholder:Confirm password"}}
    <button class="small-blue-button" type="submit" name="register">Register</button>
</form>

Запись в журнал:

<form id="login-form" method="post">
        {% csrf_token %}
        {% if form.username.errors %}
        <ul>
            {% for error in form.username.errors %}
                <li class="small-red-text">{{ error }}</li>
            {% endfor %}
        </ul>
        {% endif %}
        {{form.username|add_class:"form-control"|attr:"id:username-input"|attr:"placeholder:Username"}}
        {% if form.password.errors %}
        <ul>
            {% for error in form.password.errors %}
                <li class="small-red-text">{{ error }}</li>
            {% endfor %}
        </ul>
        {% endif %}
        {{form.password|add_class:"form-control"|attr:"id:password-input"|attr:"placeholder:Password"}}
        <button type="submit" class="small-blue-button">Login</button>
        <input type="hidden" name="next" value="{% url 'mainapp:translator' %}" />
    </form>

Как исправить форму входа в систему, чтобы она корректно отображала ошибки?

Вернуться на верх