장고views.py의 함수 끝까지 실행 후 재실행 되는지?
@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}
return render(request, 'pybo/answer_form.html', context)
뷰.ps에서 수정 버튼을 누르면 else:가 실행되고
return render로 템플릿이 랜더되어 나타나는데.
이 이후에 폼을 작성 한 뒤 저장하기 버튼을 누르면.
어떻게 저 함수가 다시 실행되어 POST를 수행 하는지 궁금합니다 ㅠㅠ
제가 뭘 놓치고 있는지 아래는 랜더 이후 넘어간 뒤 저장하기 버튼이 있는 곳 입니다.
{% extends 'base.html' %}
{% block content %}
<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 %}
doodoongservice 님 310
M 2021년 6월 15일 11:07 오후
1개의 답변이 있습니다. 1 / 1 Page
버튼을 클릭하면 form이 submit되어 post로 요청됩니다.
이때 요청되는 URL은 form에 action속성에 정의되어 있는 URL로 요청되는데 action이 생략된 경우는
현재의 URL, 즉 브라우저의 주소창에 표시된 URL로 요청됩니다.
박응용 님
2021년 6월 15일 11:09 오후