플라스크 질문데이터 등록과 답변데이터 등록 함수의 다른점 문의

점프 투 플라스크 > 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 오후 추천 , 대댓글
목록으로