3-09 게시물 수정 & 삭제 기능 추가하기 답변 수정 뷰, 폼 질문
현재 답변 수정 기능을 구현 중인데요.
뷰에서 탬플릿으로 객체를 건네주는 부분이 궁금해서 질문드립니다.
아래의 코드에서 answer_modify 함수에서 context로 answer객체를 탬플릿 pybo/answer_form.html에 넘겨주는데요.
pybo/answer_form.html에 코드를 보면, form 객체는 사용하지만 answer객체는 사용하지 않고 있는데
제가 놓친 부분, 이해를 못한 부분이 있나 궁금합니다.
<뷰>
@login_required(login_url='common:login')
def answer_modify(request, answer_id):
"""
pybo 답변수정
"""
answer = get_object_or_404(Answer, pk=answer_id)
if request.user != answer.author:
messages.error(request, '수정권한이 없습니다')
return redirect('pybo:detail', question_id=answer.question.id)
if request.method == "POST":
form = AnswerForm(request.POST, instance=answer)
if form.is_valid():
answer = form.save(commit=False)
answer.author = request.user
answer.modify_date = timezone.now()
answer.save()
return redirect('pybo:detail', question_id=answer.question.id)
else:
form = AnswerForm(instance=answer)
context = {'answer': answer, 'form': form} {# 이부분에서 answer를 탬플릿으로 보내는 이유가 궁금합니다. #}
return render(request, 'pybo/answer_form.html', context)
<탬플릿>
<div class="container my-3">
<form method="post" class="post-form">
{% csrf_token %}
{% include "form_errors.html" %}
<div class="form-group">
<label for="content">답변내용</label>
<textarea class="form-control" name="content" id="content"
rows="10">{{ form.content.value|default_if_none:'' }}</textarea>
</div>
<button type="submit" class="btn btn-primary">저장하기</button>
</form>
</div>
{% endblock %}
HJ 님 428
2021년 7월 19일 12:08 오후
answer 객체도 템플릿에서는 사용하지 않네요.. 따라서 굳이 context 변수로 전달할 필요가 없습니다. 프로그램과 문서도 정리를 좀 해야 겠습니다. 알려주셔서 감사합니다.
-
박응용님,
2021년 7월 19일 7:55 오후
추천
,
대댓글