점프 투 장고 질문입니다.

2장 마지막에 나오는 질문 등록 views함수입니다.

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.create_date = timezone.now()
            answer.question = question
            answer.save()
                      return redirect('pybo:detail', question_id=question.id)
    else :
        form = AnswerForm()
    context = {'question' : question, 'form' : form}
    return render(request, 'pybo/question_detail.html', context)

이 함수에서
return redirect('pybo:detail', question_id=question.id)
else :
form = AnswerForm()

이렇게 3문장은 빠져도 상관없지 않나요? 왜 삽입되었는지 궁금합니다.

aq3480 436

M 2021년 10월 13일 9:20 오후

목록으로
1개의 답변이 있습니다. 1 / 1 Page

답변 등록은 GET으로 넘어 오는 부분이 없기 때문에 다음 부분은 없어도 되는게 맞습니다. (이 부분 문의가 많은데 책도 수정을 해야 겠네요.)

else :
    form = AnswerForm()

그리고 다음 부분은 답변을 등록하고 화면을 갱신하는 부분입니다.

return redirect('pybo:detail', question_id=question.id)

이 부분이 없으면 테스트를 해 봐야겠지만 등록합 답변 내용이 남아 있을수도 있고.. 또 등록된 답변이 표시되지 않을 가능성도 보입니다.. 테스트를 해 보지 않아서 확실하지는 않습니다. 어떤 결과가 나오는지 테스트 해 보셨으면 댓글 남겨 주시면 참고하겠습니다.

박응용

2021년 10월 14일 9:08 오전

return redirect('pybo:detail', question_id=question.id) return render(request, 'pybo/question_detail.html', context) 위 두 문장이 같은 맥락이라 생각해서 빠져도 될까 물어봤어용 - aq3480님, M 2021년 10월 14일 7:59 오후 추천 , 대댓글