[python] Flask에서 플라스크-와트 기능 활용하기

플라스크(Flask)는 파이썬으로 웹 애플리케이션을 개발할 때 사용하는 경량 웹 프레임워크입니다. 이번에는 Flask 애플리케이션에 플라스크-와트(Flask-WTF)를 사용하여 웹 폼 기능을 추가하는 방법에 대해 살펴보겠습니다.

1. 플라스크-와트 설치

플라스크-와트를 사용하기 위해서는 먼저 패키지를 설치해야 합니다. 코드 아래와 같이 플라스크-와트를 설치합니다.

pip install Flask-WTF

2. 플라스크-와트를 이용한 폼 생성

먼저 app.py 파일에 다음과 같은 코드를 추가하여 플라스크-와트 폼을 생성합니다.

from flask import Flask, render_template
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired

app = Flask(__name__)
app.secret_key = 'your_secret_key'

class MyForm(FlaskForm):
    name = StringField('Name', validators=[DataRequired()])
    submit = SubmitField('Submit')

@app.route('/', methods=['GET', 'POST'])
def index():
    form = MyForm()
    if form.validate_on_submit():
        # 폼 데이터 처리
        return 'Success'
    return render_template('index.html', form=form)

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

위 코드에서는 플라스크-와트 모듈을 사용하여 MyForm이라는 폼을 생성하고, index 뷰 함수에서 이 폼을 사용합니다. 만약 폼이 제출되면 데이터를 처리하고, 그렇지 않을 경우 폼을 렌더링하여 사용자에게 보여줍니다.

3. HTML 템플릿에 폼 렌더링

마지막으로, index.html 파일에 폼을 렌더링하는 내용을 추가합니다.


<!DOCTYPE html>
<html>
<head>
    <title>Form</title>
</head>
<body>
    <form method="POST">
        {{ form.csrf_token }}
        {{ form.name.label }} {{ form.name(size=32) }}
        {{ form.submit() }}
    </form>
</body>
</html>

위 코드는 플라스크-와트 폼을 HTML 템플릿에 렌더링하는 방법을 보여줍니다.

플라스크-와트를 사용하여 플라스크 애플리케이션에 웹 폼을 간단히 추가할 수 있습니다. 이를 통해 사용자 입력을 쉽게 수집하고 처리할 수 있게 됩니다.

더 자세한 내용은 플라스크-와트 공식 문서를 참고하시기 바랍니다.