Flask-WTF는 Flask 웹 프레임워크에서 폼을 생성하고 유효성 검사를 수행하는 데 사용하는 패키지입니다. Flask-WTF를 사용하여 입력 폼을 커스터마이징하는 방법을 알아보겠습니다.
-
템플릿 파일 생성하기: 먼저, 커스터마이징하고자 하는 입력 폼의 템플릿 파일을 생성해야 합니다. Flask-WTF에서는 Jinja2 템플릿 엔진을 사용합니다. 따라서, Jinja2 문법을 사용하여 템플릿 파일을 작성해야 합니다.
<!-- custom_form.html --> <form method="POST" action=""> {{ form.csrf_token }} {{ form.my_field.label }} {{ form.my_field() }} {{ form.submit() }} </form>
-
Flask 애플리케이션에 적용하기: 커스터마이즈한 템플릿을 Flask 애플리케이션에 적용해야 합니다. Flask-WTF를 사용하여 폼을 생성하고, 해당 폼을 커스터마이즈한 템플릿과 연결해야 합니다.
# app.py from flask import Flask, render_template from flask_wtf import FlaskForm from wtforms import StringField, SubmitField app = Flask(__name__) app.config['SECRET_KEY'] = 'your_secret_key' class MyForm(FlaskForm): my_field = StringField('My Field') submit = SubmitField('Submit') @app.route('/', methods=['GET', 'POST']) def index(): form = MyForm() if form.validate_on_submit(): # 폼이 제출되었을 때의 로직 처리 pass return render_template('custom_form.html', form=form) if __name__ == '__main__': app.run(debug=True)
위의 예시 코드에서는
MyForm
클래스를 정의하여 커스텀 폼을 생성하였고,index
라우트 함수에서 해당 폼을 템플릿과 함께 렌더링하도록 설정하였습니다. -
커스터마이징한 템플릿 사용하기: Flask 애플리케이션을 실행하고 브라우저에서 해당 URL에 접속하면, 커스터마이징한 입력 폼이 표시됩니다. 이제
custom_form.html
파일을 수정하여 원하는 대로 입력 폼을 디자인하면 됩니다.Flask-WTF는 다양한 폼 필드 유형과 유효성 검사 기능을 제공하므로, 필요에 따라 추가적인 커스터마이징이 가능합니다. 자세한 내용은 Flask-WTF 문서를 참고하세요.
위의 방법을 따라 Flask-WTF를 사용하여 입력 폼 템플릿을 커스터마이징할 수 있습니다. Flask-WTF의 강력한 기능을 활용하여 사용자 친화적인 웹 어플리케이션을 개발해보세요.