[파이썬] Flask에서 AJAX 처리

Flask는 파이썬으로 작성된 웹 애플리케이션을 개발하기 위한 마이크로 프레임워크입니다. 이 프레임워크는 웹 요청에 대한 처리를 단순하게 만들어주고, AJAX와 같은 비동기 통신을 간편하게 처리할 수 있는 기능도 제공합니다.

AJAX(Asynchronous JavaScript and XML)는 웹 어플리케이션이 비동기적으로 데이터를 서버로부터 받아오고 화면을 업데이트하는 방식을 의미합니다. 이를 통해 웹 페이지의 사용자 경험을 향상시킬 수 있습니다.

Flask에서 AJAX를 처리하기 위해서는 다음과 같은 단계를 따라야 합니다:

1. 필요한 라이브러리 설치

AJAX를 사용하기 위해 Flask에서는 jQuery와 같은 JavaScript 라이브러리를 사용합니다. 우선 해당 라이브러리를 설치해야 합니다.

$ pip install flask
$ pip install jQuery

2. Flask 애플리케이션 설정

Flask를 사용하여 AJAX 처리를 하기 위해서는 기존의 Flask 애플리케이션에 몇 가지 설정을 추가해야 합니다.

from flask import Flask, jsonify, request

app = Flask(__name__)

@app.route('/ajax', methods=['POST'])
def ajax_handler():
    data = request.get_json()  # AJAX 요청으로부터 데이터를 받아옴
    # 데이터 처리 로직 작성
    return jsonify(response_data)  # AJAX 응답으로 데이터를 보냄

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

3. JavaScript 코드 작성

웹 페이지에서 AJAX 요청을 보내기 위한 JavaScript 코드를 작성해야 합니다. 이 코드는 jQuery를 이용하여 AJAX 요청을 보내고 응답을 처리합니다.

$(document).ready(function() {
    $('#submit-button').click(function() {
        var data = { 'key': 'value' };  // AJAX 요청에 담을 데이터
        $.ajax({
            url: '/ajax',
            type: 'POST',
            contentType: 'application/json',
            dataType: 'json',
            data: JSON.stringify(data),
            success: function(response) {
                // 응답을 받아서 화면을 업데이트하는 로직 작성
            }
        });
    });
});

4. 실행

Flask 애플리케이션과 JavaScript 코드를 작성한 후에는 애플리케이션을 실행하고 웹 페이지에서 동작을 확인할 수 있습니다.

$ python app.py

위의 단계를 따라 Flask에서 AJAX를 처리하는 간단한 예제를 작성할 수 있습니다. AJAX를 활용하여 비동기적으로 데이터를 처리하고 화면을 업데이트할 수 있으므로, 웹 애플리케이션의 성능과 사용자 경험을 향상시킬 수 있습니다.