3-05 로그인·로그아웃 구현하기 form.errors 질문
로그인·로그아웃 구현하기 [4] form_errors.html 만들어 작성하기 부분에 궁금한 점이 있어서 질문드립니다.
두 부분의 form_errors 부분의 코드가 조금 다른 점이 신경쓰입니다.
로그인·로그아웃 구현하기에서의 form_errors.html 코드의 필드오류의 출력과 질문등록 기능 필드오류의 출력부분이 아래와 같이 예상되는데요.
출력하는 모습만 다를 뿐, 로그인·로그아웃에서도 질문 등록 기능에서 쓴 코드처럼 작성해도 되는건가요?
그리고 로그인·로그아웃 form_errors.html 에서는 {% if field.errors %}, {% if form.non_field_errors %} 조건문은 필요 없나요?
아래의 for문처럼 작동하는건지요?
그럼 if문은 필요있는건지 그부분도 신경쓰입니다.
a = []
for i in a:
print(i) #에러메시지 없이 아무것도 출력안하고 프로그램 종료. for문은 a안이 비어있어도 에러메시지를 안내는 것인가?
<로그인·로그아웃의 에러 발생시의 필드에러 출력 예상 모습>
유저네임
에러
유저네임
에러
패스워드
에러
패스워드
에러
<질문 등록 기능 에러 발생시의 필드에러 출력 예상 모습>
제목
에러
에러
내용
에러
에러
[4] form_errors.html 만들어 작성하기의 forms.errors.html 코드
{% for field in form %}
{% for error in field.errors %} <!-- 필드 오류를 출력한다. -->
<div class="alert alert-danger">
<strong>{{ field.label }}</strong>
{{error}}
</div>
{% endfor %}
{% for error in form.non_field_errors %} <!--넌필드 오류를 출력한다. -->
<div class="alert alert-danger">
<strong>{{error}}</strong>
</div>
{% endfor %}
2-10 질문 등록 기능 만들기 [11] 수작업으로 폼 작성하기 코드
<!-- 오류표시 Start -->
{% if form.errors %}
<div class="alert alert-danger" role="alert">
{% for field in form %}
{% if field.errors %}
<strong>{{ field.label }}</strong>
{{ field.errors }}
{% endif %}
{% endfor %}
</div>
{% endif %}
<!-- 오류표시 End -->
HJ 님 362
M 2021년 7월 16일 11:57 오후
1개의 답변이 있습니다. 1 / 1 Page
두 개의 코드의 역할은 동일합니다.
다만, 필드 오류를 출력할 때 <div>~</div>
문단이 여러개가 출력되고, 한 개만 출력되는 차이가 있긴 합니다.
책에도 한 개로 통일하여 혼란을 줄이도록 하겠습니다.
피드백 감사합니다.
박응용 님
2021년 7월 17일 10:30 오전