[python] Flask-WTF에서 사용자에게 선택적인 필드를 보여주거나 숨기는 방법은 무엇인가요?
예를 들어, 사용자의 선택에 따라 HiddenField
를 보여주고 숨기기 위해 다음과 같은 코드를 사용할 수 있습니다:
from flask import Flask, render_template, request
from flask_wtf import FlaskForm
from wtforms import HiddenField, SelectField, StringField, SubmitField
from wtforms.validators import DataRequired
app = Flask(__name__)
app.config['SECRET_KEY'] = 'your-secret-key'
class MyForm(FlaskForm):
show_hidden = BooleanField('Show hidden field')
hidden_field = HiddenField('Hidden Field')
select_field = SelectField('Select Field', choices=[('choice1', 'Choice 1'), ('choice2', 'Choice 2')])
text_field = StringField('Text Field', validators=[DataRequired()])
submit_button = SubmitField('Submit')
@app.route('/', methods=['GET', 'POST'])
def index():
form = MyForm(request.form)
if form.validate_on_submit():
# 처리 로직
if form.show_hidden.data:
form.hidden_field.widget = HiddenInput()
return render_template('index.html', form=form)
if __name__ == '__main__':
app.run()
위의 예제에서, show_hidden
이라는 BooleanField
를 추가하여 사용자에게 ‘Show hidden field’ 체크박스를 보여줍니다. 이 체크박스를 선택하면, hidden_field
가 숨겨진 필드로 변경됩니다.
이렇게 함으로써 사용자는 선택적인 필드를 보거나 숨길 수 있습니다. 해결되지 않은 문제가 있다면, WTForms 문서(https://wtforms.readthedocs.io/)를 참조하시기 바랍니다.