브라우저에서 동작하는 파이썬으로 웹 애플리케이션의 데이터 처리 방법

웹 애플리케이션을 개발하다보면 사용자가 입력한 데이터를 처리해야 하는 경우가 많습니다. 이때, 파이썬을 사용하여 브라우저에서 동작하는 웹 애플리케이션에서 데이터를 처리하는 방법을 알아보겠습니다.

HTML 폼으로 데이터 전송하기

HTML 폼을 사용하여 사용자가 입력한 데이터를 서버로 전송할 수 있습니다. 폼을 작성할 때는 form 요소를 사용하고, 데이터를 전송할 때는 action 속성을 사용하여 서버의 URL을 지정합니다. 예를 들어, 다음과 같이 폼을 작성할 수 있습니다.

<form action="/process" method="POST">
  <input type="text" name="name">
  <input type="submit" value="전송">
</form>

위의 예제에서 name 속성은 사용자가 입력한 데이터의 이름을 나타냅니다. 데이터를 전송할 때는 POST 메서드를 사용하여 폼 데이터를 서버로 전송합니다.

Flask로 데이터 처리하기

Flask는 파이썬으로 웹 애플리케이션을 개발할 때 사용되는 마이크로 웹 프레임워크입니다. Flask를 사용하여 브라우저에서 전송된 데이터를 처리할 수 있습니다.

먼저, Flask를 설치하고 다음과 같이 간단한 Flask 애플리케이션을 작성해보겠습니다.

from flask import Flask, request

app = Flask(__name__)

@app.route('/process', methods=['POST'])
def process_data():
    name = request.form['name']
    # 데이터 처리 로직을 작성
    return 'Hello, ' + name + '!'

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

위의 예제에서 /process URL로 POST 요청이 들어오면 process_data 함수가 실행됩니다. 함수 내에서는 request.form을 통해 폼 데이터에 접근할 수 있습니다. 이후 데이터 처리 로직을 작성하여 결과를 반환하면 됩니다.

데이터베이스와 연동하기

웹 애플리케이션에서 사용자가 입력한 데이터를 데이터베이스에 저장하고 싶다면, 데이터베이스와 연동하는 방법을 알아야 합니다.

Flask에서 데이터베이스와 연동하기 위해 SQLAlchemy라는 파이썬 ORM(Object-Relational Mapping) 라이브러리를 사용할 수 있습니다. SQLAlchemy를 사용하면 파이썬 객체와 데이터베이스 테이블을 연결할 수 있습니다.

데이터베이스 연동 예제는 다음과 같습니다.

from flask import Flask, request
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///data.db'  # 데이터베이스 URL 설정
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))

@app.route('/process', methods=['POST'])
def process_data():
    name = request.form['name']
    user = User(name=name)
    db.session.add(user)
    db.session.commit()
    return 'Hello, ' + name + '!'

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

위의 예제에서 User 클래스는 데이터베이스 테이블과 매핑됩니다. 사용자가 입력한 데이터를 User 객체로 생성하여 데이터베이스에 추가하고, commit() 메서드로 변경 사항을 저장합니다.

결론

브라우저에서 동작하는 파이썬을 사용하여 웹 애플리케이션의 데이터를 처리하는 방법에 대해 알아보았습니다. HTML 폼을 사용하여 데이터를 전송하고, Flask를 사용하여 데이터를 처리하며, SQLAlchemy를 사용하여 데이터베이스와 연동하는 방법을 사용하는 것이 일반적입니다. 이를 통해 웹 애플리케이션의 데이터 처리를 손쉽게 구현할 수 있습니다.

관련 레퍼런스: Flask 공식 문서