[점프투장고 2장 10 폼] 답변등록 뷰에서 render 구문이 필요한 이유

안녕하세요~ 다음의 답변 등록 뷰 코드에서

@login_required(login_url='common:login')
def answer_create(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    if request.method == "POST":
        form = AnswerForm(request.POST)
        if form.is_valid():
            answer = form.save(commit=False)
            answer.author = request.user  # author 속성에 로그인 계정 저장
            answer.create_date = timezone.now()
            answer.question = question
            answer.save()
            return redirect('pybo:detail', question_id=question.id)
    else:
        return HttpResponseNotAllowed('Only POST is possible.')
    context = {'question': question, 'form': form}
    return render(request, 'pybo/question_detail.html', context)

POST 일때는 답변을 저장하고 아닌 경우 에러메시지를 내도록 되어 있는데,
이외의 경우도 발생할 수 있는 걸까요? POST도 GET도 아닌 예외가 발생하게 되면 위 코드의 마지막 구문인
return render(request, 'pybo/question_detail.html', context) 가 실행될텐데...
어떤 경우가 있을지 궁금합니다. 답변 해주시면 감사하겠습니다.

yje27188795 238

M 2022년 6월 8일 11:24 오전

POST가 아닌 경우 403 forbidden 코드가 리턴됩니다. (HttpResponseNotAllowed ) - 박응용님, 2022년 6월 8일 4:10 오후 추천 , 대댓글
목록으로