[점프투장고] form.is_valid() 함수 질문있습니다.

def question_create(request):
"""
pybo 질문등록
"""
if request.method == 'POST':
form = QuestionForm(request.POST)
if form.is_valid():
question = form.save(commit=False)
question.create_date = timezone.now()
question.save()
return redirect('pybo:index')
else:
form = QuestionForm()
context = {'form': form}
return render(request, 'pybo/question_form.html', context)

    책에서  form.is_valid() 가 실패하면 에러메시지를 가지고 이전 페이지로 돌아간다고 하신걸로 알고 있습니다.예를 들면, 아무것도 적지 않고 제출버튼을 눌렀을 때요.

    저는 장고 4.0을 사용하는데  폼에 아무것도 적지 않고 제출했을 때 이전페이지로 가서 에러메시지를 출력하는 것이 아니라 The view pybo.views.question_create didn't return an HttpResponse object. It returned None instead. 이런 에러페이지가 뜹니다. 에러메시지를 출력해보고 싶은데, 에러 페이지만 떠서 이유를 잘 모르겠습니다.

장고가 버전업이 되면서 동작이 달라진 건가요? 코드를 다르게 짜야 하나요?

djangolearner 57

2021년 12월 25일 2:57 오후

오류 났을때 마지막 return 문이 실행안되고 종료되는 것 같은데요.. if, else 문의 들여쓰기를 확인해 보세요. - 박응용님, 2021년 12월 25일 4:14 오후 추천 , 대댓글
목록으로