플라스크 , html에서 QuestionForm() 클래스로 값을 넘기는 방식을 이해를 못하겠습니다.

선생님 때문에 포기하지 않고, 느리지만, 매일 매일 열심히 공부하고있습다. 늘 감사드립니다.

오늘 질문 사항은 아래와 같습니다.

https://wikidocs.net/81061
점프 투 플라스크
파이보 서비스 개발
3-10 게시물 수정 & 삭제 기능 추가

해당 부분을 공부하다가

갑자기 궁금증이 생겼습니다. 그동안에는 그냥 그런가보다 하고 넘어갔는데요

질문 수정 버튼을 눌러서
question_form.html 로 이동하고

제목과 내용을 수정하고나서, 저장하기를 누르면
수정된 내용이 저장이 됩니다

question_form.html 의 코드는

{% extends "base.html" %}
{% block content %}
<div class="container">
    <h5 class="my -3 border-bottom pb-2">질문등록</h5>
    <form method="post" class="post-form my-3">
        {{ form.csrf_token }}

        <!-- 오류내용 표시 시작 -->
        {% for field, errors in form.errors.items() %}
        <div class="alert alert-danger" role="alert">
            <strong>{{ form[field].label }}</strong>: {{ ', '.join(errors) }}
        </div>
        {% endfor %}
        <!-- 오류내용 표시 끝 -->

        <div class="form-group">
            <label for="subject">제목</label>
            <input type="text" name="subject" id="subject" class="form-control" value="{{ form.subject.data or ''}}">
        </div>  

        <div class="form-group">
            <label for="content">내용</label>
            <textarea class="form-control" name="content" id="content" rows="5">{{ form.content.data or '' }}</textarea>
        </div>

        <button class="btn btn-primary" type="submit">저장하기</button>
    </form>
</div>


{% endblock %}

위의 html 코드 중에서
QuestionForm() 클래스로 값을 넘기는 코드는 아무리 봐도 없는데
왜 QuestionForm() 클래스가, 값을 받아서 가지고있는지 궁금합니다

알려주시면 감사하겠습니다.

ilue00 46

2021년 9월 6일 11:27 오후

목록으로
1개의 답변이 있습니다. 1 / 1 Page

폼을 전송하면 view의 함수가 실행되고
해당 함수에서 request를 이용하여 QuestionForm 객체를 생성합니다.

템플릿과는 상관이 없습니다.

박응용

2021년 9월 6일 11:47 오후

선생님~ modify 함수가 실행되는게 맞지요? modify 함수에서 request 는 if request.method 할때 쓰이고 다른곳에서는 안쓰이는데 어떻게 request 를 이용하여 QuestionForm 객체가 생성이 되는지 모르겠어요 알려주시면 감사하겠습니다 - ilue00님, M 2021년 9월 7일 7:25 오후 추천 , 대댓글
+1 @ilue00님 form = QuestionForm() 으로 QuestionForm 객체가 생성됩니다. 그리고 플라스크의 폼은 내부적으로 화면으로부터 전달받은 값들이 QuestionForm 객체에 자동으로 저장됩니다. - 박응용님, M 2021년 9월 7일 8:31 오후 추천 , 대댓글
+1 @ilue00님 이것에 대한 자세한 내용은 QuestionForm이 상속한 FlaskForm을 좀 더 살펴보셔야 합니다. - 박응용님, 2021년 9월 7일 8:33 오후 추천 , 대댓글