Flask WTF IntegerField

问题描述 投票:1回答:1

wtforms.IntegerField.data不是在post方法上传递给html模板,而是在get方法上传递给html模板。

在下面的代码中用StringField替换IntegerField确实将数据传递到html模板。我想念什么或做错什么?

class TestForm(FlaskForm):
    number = IntegerField('Number')


@app.route('/', methods=['POST', 'GET'])
def home():
    form = TestForm()
    if request.method == 'GET':
        form.number.data = 100
    if request.method == 'POST':
        form.number.data = 200
    return render_template('number.html', form=form)
python flask flask-wtforms
1个回答
0
投票

我一直面临着同样的问题。我发现一种解决方法是在模板中设置值。这当然不是最佳选择,但目前可以使用。

{% if form.number.data %}
{{ form.number(value=form.number.data) }}
{% else %}
{{ form.number() }}
{% endif %}
© www.soinside.com 2019 - 2024. All rights reserved.