Размещение {% if form.errors %} в шаблоне входа в систему

Я не уверен, разрешено ли мне задавать подобные вопросы здесь, поскольку это не проблема как таковая, поэтому, пожалуйста, дайте мне знать. Но я хотел спросить о шаблоне login.html на Django:

{% extends 'learning_logs/base.html' %}

{% block content %} 

    {% if form.errors %}
        <p>Your username and password didn't match. Please try again.</p>
    {% endif %}

    <form method = "post" action="{% url 'login' %}">
        {% csrf_token %}
        {{ form.as_p }}

        <button name = "submit">log in</button>
        <input type="hidden" name="next" value="{% url 'learning_logs:index' %}" />
    </form>

{% endblock content %}

Почему он проверяет наличие form.errors еще до обработки формы? Спасибо за любую помощь по этому вопросу.

Упорядочение шаблона не определяет, как работает логика формы, только то, как отображаются определенные элементы. Вы можете поместить блок {% if form.errors %} после <form>, и не будет никакой разницы в том, как форма будет обрабатываться Django. Более того, form.errors будет существовать только после того, как форма будет проверена с помощью is_valid() и будут обнаружены ошибки.

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