점프투장고 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 오후