[python] Flask-WTF에서 폼 필드에 입력된 값의 형식을 검사하는 방법은 어떻게 되나요?
Flask-WTF는 Flask 프레임워크에서 사용할 수 있는 폼 유효성 검사 도구입니다. Flask-WTF를 사용하여 폼 필드에 입력된 값의 형식을 검사하는 방법은 다음과 같습니다:
- 필요한 패키지를 설치합니다:
pip install flask-wtf
- Flask-WTF를 import 합니다:
from flask_wtf import FlaskForm from wtforms import StringField, IntegerField from wtforms.validators import DataRequired, Length, NumberRange
- 폼 클래스를 생성합니다:
class MyForm(FlaskForm): name = StringField('Name', validators=[DataRequired(), Length(min=2, max=20)]) age = IntegerField('Age', validators=[DataRequired(), NumberRange(min=1, max=100)])
위의 코드에서
StringField
와IntegerField
는 각각 문자열과 숫자 입력을 받는 필드를 나타냅니다.DataRequired
는 필수 입력 필드임을 나타내고,Length
는 입력 길이 제한을 설정합니다.NumberRange
는 입력 숫자의 범위를 설정합니다. - 라우트에서 폼을 사용합니다:
@app.route('/form', methods=['GET', 'POST']) def form(): form = MyForm() if form.validate_on_submit(): # 폼이 제출되었을 때 필드 값의 형식이 올바른 경우 실행할 코드 name = form.name.data age = form.age.data # 폼 처리 로직을 작성합니다 return "Form submitted successfully" return render_template('form.html', form=form)
위의 코드에서 form.validate_on_submit()
는 폼이 제출되었을 때 해당 폼 필드의 값이 모두 올바른지 확인합니다. 만약 올바르지 않은 필드가 있다면 에러 메시지가 자동으로 플래싱됩니다.
- 폼을 템플릿에 렌더링합니다: ```html
```
위의 코드에서 form.hidden_tag()
는 CSRF 토큰을 포함한 hidden 필드를 생성합니다. form.name.label
과 form.name()
은 각각 이름 필드의 레이블과 입력 필드를 출력합니다.
Flask-WTF를 사용하면 폼 필드 값의 형식을 검사하는 작업을 간단하게 처리할 수 있습니다. 위의 방법을 따라 폼 필드의 유효성을 검사해보세요.