이 블로그 포스트에서는 파이썬(Flask) 웹 프레임워크를 사용하여 웹 애플리케이션에서 폼 처리와 유효성 검사를 다룹니다. 이 포스트를 통해 폼을 만들고 제출하는 방법, 유효성을 검사하는 방법, 그리고 폼으로부터 데이터를 가져오고 처리하는 방법을 배울 수 있습니다.
- 폼 만들기: 폼을 만들어 사용자로부터 데이터를 입력 받는 방법
- 유효성 검사: 사용자 입력 데이터의 유효성을 검사하는 방법
- 데이터 처리: 폼으로부터 데이터를 가져와 처리하는 방법
그럼 파이썬을 사용하여 폼 처리와 유효성 검사를 어떻게 하는지 자세히 알아보겠습니다.
1. 폼 만들기
첫번째로, 우리는 폼을 만들어야 합니다. Flask-WTF와 WTForms 라이브러리를 사용하여 쉽게 폼을 만들 수 있습니다.
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired
class MyForm(FlaskForm):
name = StringField('이름', validators=[DataRequired()])
email = StringField('이메일', validators=[DataRequired()])
submit = SubmitField('제출')
위의 코드는 간단한 폼을 만드는 방법을 보여줍니다. FlaskForm
을 상속받는 클래스를 생성하고, 각 필드를 정의하고 유효성 검사를 적용할 수 있습니다.
2. 유효성 검사
다음으로, 유효성 검사를 살펴보겠습니다. WTForms는 다양한 내장 유효성 검사자(Validators)를 제공합니다. 예를 들어, DataRequired
를 사용하여 필드가 비어있지 않은지 확인할 수 있습니다.
from wtforms.validators import Email
class MyForm(FlaskForm):
name = StringField('이름', validators=[DataRequired()])
email = StringField('이메일', validators=[DataRequired(), Email()])
submit = SubmitField('제출')
위의 코드에서는 Email
유효성 검사자를 추가하여 이메일 형식의 입력값을 확인합니다.
3. 데이터 처리
마지막으로, 우리는 폼 제출 후 입력된 데이터를 처리해야 합니다. 이 작업은 간단하게 구현할 수 있습니다.
from flask import request
@app.route('/submit', methods=['GET', 'POST'])
def submit():
form = MyForm()
if form.validate_on_submit():
name = form.name.data
email = form.email.data
# 데이터 처리 로직
return '제출 완료'
return '유효성 검사 실패'
submit
뷰 함수에서는 먼저 폼 인스턴스를 생성하고, validate_on_submit
메서드로 유효성을 검사합니다. 유효한 입력일 경우, 데이터를 가져와 처리할 수 있습니다.
이렇게해서 우리는 파이썬 Flask 웹 애플리케이션에서 폼 처리와 유효성 검사를 다루는 법을 배워보았습니다. 유용한 라이브러리를 사용하여 간단하고 안전한 폼 처리를 구현할 수 있습니다.
참고 문헌:
- https://flask.palletsprojects.com/
- https://wtforms.readthedocs.io/