점프투장고 form 사용시 else 구문 코드 이해좀도와주세요
@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
            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)

답변등록 버튼 클릭시 post 로 받아서 if 구문에서 답변이 저장되는거는 이해가 됐습니다
else 구문은 get 으로 들어왔을 경우를 말하는거같은데
get 으로 들어왔을경우 form = AnswerForm() 은 어떤역할을 할까요
else 구문인 경우 답변을 저장하는 코드도 없고 정확히 어떤역할을 하는지 이해하기 어렵습니다...
form = AnswerForm() 을 question_detail.html 에 넘어가는 코드인거같은데
넘겨도 아무일도 없지않나요?
답변 부탁드릴게요!

독단배 383

M 2020년 9월 28일 9:04 오후

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

네, 독단배님 말씀처럼 get 일경우는 form이 하는 역할이 특별히 없습니다.
더구나 answer_create 함수는 POST 만 호출될 뿐 GET으로 호출될 일이 없습니다.

다만 다른 함수들과 비슷한 모양(POST, GET)을 가져가다 보니 불필요한 코드가 추가되었네요.

"점프 투 장고"에도 이 점을 언급해야 겠네요.

박응용

2020년 9월 28일 8:37 오후