오늘은~즐거운 크리스마스~코딩하는 날~
오늘은 솔직히 개인과제만 해서 딱히 배운것이 없다. 그냥 아 이렇고 이렇지 해서....
폼 검증에 실패했을 때의 상황? 아무튼 적절한 에러 메시지를 사용자에게 보여주려면, Django의 form.errors를 활용하여 템플릿에 에러 메시지를 출력하면 됩니다.
아래는 폼의 유효성 검증 실패 시 화면에 에러 메시지를 표시하는 방법입니다.
@require_http_methods(['GET', 'POST'])
def signup(request):
if request.method == 'POST':
form = CustomUserCreationForm(request.POST)
if form.is_valid():
form.save()
return redirect('account:signin') # URL 이름 수정
else:
# 폼이 유효하지 않을 경우, 에러와 함께 다시 렌더링
context = {'form': form}
return render(request, 'account/signup.html', context)
else:
# GET 요청 시 빈 폼 전달
form = CustomUserCreationForm()
context = {'form': form}
return render(request, 'account/signup.html', context)
예를 들어, if에서 is_valid하지 않다면, 저렇게 context에 다시 form을 넣어서 주면 됩니다.
하지만 form.errors를 왜 안 쓰냐고요?
form.errors는 폼의 유효성 검증이 실패했을 때 자동으로 생성됩니다. 따라서 form.is_valid()가 False를 반환하면, form.errors에 유효성 검증 실패에 대한 상세한 정보가 포함됩니다.
암튼 메리크리스 마스~