플라스크 질문데이터 등록과 답변데이터 등록 함수의 다른점 문의
점프 투 플라스크 > 2-10 폼 모듈로 데이터 검증 더 쉽게 하기 > [2] 답변 등록 라우트 함수 수정하기
질문등록 라우트 함수는 아래 코드와 같습니다
@bp.route('/create/', methods=('GET', 'POST'))
def create():
form = QuestionForm()
if request.method == 'POST' and form.validate_on_submit():
question = Question(subject=form.subject.data, content=form.content.data, create_date=datetime.now())
db.session.add(question)
db.session.commit()
return redirect(url_for('main.index'))
return render_template('question/question_form.html', form=form)
답변등록 라우트 함수는 아래 코드에요
@bp.route('/create/<int:question_id>', methods=('POST',))
def create(question_id):
form = AnswerForm()
question = Question.query.get_or_404(question_id)
if form.validate_on_submit():
content = request.form['content']
answer = Answer(content=content, create_date=datetime.now())
question.answer_set.append(answer)
db.session.commit()
return redirect(url_for('question.detail', question_id=question_id))
return render_template('question/question_detail.html', question=question, form=form)
질문등록 함수의 if문은
if request.method == 'POST' and form.validate_on_submit():
답변등록 함수의if 문은
if form.validate_on_submit():
서로 if문이 틀립니다.
질문 등록은 get 방식 or, post 방식으로 넘어올수있고
답변 등록은 post 방식으로만 , 메소드가 올수있어서 if문이 틀린걸까요?
알려주시면 감사하겠습니다.
ilue00 님 349
2021년 9월 2일 11:27 오후
+1
말씀하신데로 답변 등록은 POST만 가능하기 때문에 method 체크가 필요 없습니다.
-
박응용님,
2021년 9월 3일 8:23 오전
추천
,
대댓글
@박응용님 네 알려주셔서 감사합니다!
-
ilue00님,
2021년 9월 3일 1:16 오후
추천
,
대댓글