카테고리 없음

스파르타 AI-8기 TIL(12/25)-Django

kimjunki-8 2024. 12. 25. 23:03

오늘은~즐거운 크리스마스~코딩하는 날~

오늘은 솔직히 개인과제만 해서 딱히 배운것이 없다. 그냥 아 이렇고 이렇지 해서....

 

폼 검증에 실패했을 때의 상황? 아무튼 적절한 에러 메시지를 사용자에게 보여주려면, 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에 유효성 검증 실패에 대한 상세한 정보가 포함됩니다.

 

암튼 메리크리스 마스~