[python] Flask-WTF에서 Ajax를 사용하여 폼 데이터를 전송하는 방법은 어떻게 되나요?

1. HTML에서 폼과 Ajax 스크립트 설정

먼저, HTML에서 폼을 작성하고 Ajax 스크립트를 설정해야 합니다. 다음은 간단한 폼과 Ajax 스크립트의 예입니다.

<form id="myForm">
  <input type="text" name="name" id="name">
  <input type="email" name="email" id="email">
  <button type="submit">전송</button>
</form>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
  $(document).ready(function() {
    $('#myForm').submit(function(event) {
      event.preventDefault(); // 폼의 기본 동작 방지
      var formData = {
        name: $('#name').val(),
        email: $('#email').val()
      };
      $.ajax({
        type: 'POST',
        url: '/submit-form',
        data: formData,
        success: function(response) {
          console.log(response);
        }
      });
    });
  });
</script>

2. Flask 애플리케이션에서 라우트 설정

Flask 애플리케이션에서는 /submit-form URL에 대한 라우트를 설정해야 합니다. 이 라우트는 Ajax 요청을 처리합니다. 다음은 Flask 애플리케이션에서 라우트를 설정하는 예입니다.

from flask import Flask, request

app = Flask(__name__)

@app.route('/submit-form', methods=['POST'])
def submit_form():
    name = request.form.get('name')
    email = request.form.get('email')
    # 폼 데이터 처리 로직 작성
    return 'Success'

if __name__ == '__main__':
    app.run()

위의 예제에서 request.form.get() 메서드를 사용하여 Ajax로 전송된 폼 데이터를 가져올 수 있습니다. 폼 데이터를 처리하는 로직을 작성한 후에는 원하는 동작을 수행할 수 있습니다.

이제 마크다운 문서에서 Flask-WTF를 사용하여 Ajax를 통해 폼 데이터를 전송하는 방법에 대해 알게 되었습니다. 이를 활용하여 웹 애플리케이션에서 동적으로 데이터를 업데이트하고 사용자 경험을 개선할 수 있습니다.

참고자료: