[python] Flask-WTF에서 사용자가 입력한 값을 초기화하고 기본값으로 설정하는 방법은 어떻게 되나요?
일단 Flask-WTF를 설치하고 필요한 패키지를 가져와야 합니다:
pip install Flask-WTF
간단한 예시로 폼을 만들어보겠습니다.
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.config['SECRET_KEY'] = 'your-secret-key'
class MyForm(FlaskForm):
name = StringField('Name', validators=[DataRequired()])
age = StringField('Age')
submit = SubmitField('Submit')
@app.route('/', methods=['GET', 'POST'])
def index():
form = MyForm()
if form.validate_on_submit():
# 폼이 제출되면 입력한 값을 초기화하고 기본값으로 설정합니다.
form.name.data = ''
form.age.data = '18'
return render_template('index.html', form=form)
if __name__ == '__main__':
app.run()
위의 코드에서 index
뷰 함수에서 폼이 제출되면 form.name.data
와 form.age.data
의 값을 초기화하고 기본값으로 설정합니다. 이후, render_template
함수를 통해 템플릿과 함께 폼을 렌더링합니다.
템플릿 파일인 index.html
을 아래와 같이 작성합니다:
<!DOCTYPE html>
<html>
<head>
<title>Flask-WTF Form</title>
</head>
<body>
<h1>Flask-WTF Form</h1>
<form method="POST">
{{ form.hidden_tag() }}
{{ form.name.label }} {{ form.name }}
{{ form.age.label }} {{ form.age }}
{{ form.submit }}
</form>
</body>
</html>
위의 코드에서 {{ form.name }}
과 {{ form.age }}
는 입력 필드를 표시하는 부분입니다.
이제 애플리케이션을 실행하고 http://localhost:5000
에 접속하여 폼을 작성해보세요. 제출 후 입력한 값이 초기화되고 name
필드는 비어있고 age
필드는 18로 설정되는 것을 볼 수 있습니다.
더 자세한 내용은 Flask-WTF 공식 문서를 참고하세요.