에러에 관한 질문인데요.

안녕하세요.
에러에 관해서 궁금한점이 있어서요.
로그인 부분인데요.
여기서 form_errors.html의 소스를 보면 처음에 {% if form.errors %}
이렇게 시작하잖아요. 여기에 있는 form이

<form method="post" action="{% url 'common:login' %}">

이 부분을 말하는건가요???

form.errors에서 form은 어디서 넘어온건가요?

{% extends "base.html" %}
{% block content %}
<div class="container my-3">
    <form method="post" action="{% url 'common:login' %}">
        {% csrf_token %}
        {% include "form_errors.html" %}
        <div class="mb-3">
            <label for="username">사용자ID</label>
            <input type="text" class="form-control" name="username" id="username"
                   value="{{ form.username.value|default_if_none:'' }}">
        </div>
        <div class="mb-3">
            <label for="password">비밀번호</label>
            <input type="password" class="form-control" name="password" id="password"
                   value="{{ form.password.value|default_if_none:'' }}">
        </div>
        <button type="submit" class="btn btn-primary">로그인</button>
    </form>
</div>
{% endblock %}

hidden5542 297

M 2022년 6월 3일 8:02 오전

목록으로
1개의 답변이 있습니다. 1 / 1 Page

로그인시 장고의 빌트인 앱을 사용하기 때문에 가려져 있는 기능들이 많이 있습니다.
그래서 장고가 어렵게 느껴지기도 하는 부분이구요.

문의하신 form은 장고 django.contrib.auth 빌트인 앱이 제공하는 AuthenticationForm입니다.
이것은 장고가 내부적으로 관리하는 form이구요, 로그인시 템플릿에서 사용가능합니다.

자세한 내용은 다음을 참고해 보세요.

https://docs.djangoproject.com/en/4.0/topics/auth/default/#module-django.contrib.auth.forms

박응용

2022년 6월 3일 8:14 오전