简单形式:
class AdjustPWMForm(Form):
dutyCycle = IntegerField('dutycycle')
#dutyCycle = IntegerField('dutycycle', default=44)
查看功能:
^{pr2}$提交表单时,不管输入了什么,结果总是55。如果我注释掉55行,并取消注释默认值为44的行,表单工作正常,但我确实需要能够设置预填充值(它将从数据库中检索)。在
似乎我错过了一些很明显的东西,但我四处寻找,想不出来。在
我发现在wtforms中更改用户名的部分很有用,这使我想到:
def adjust():
user = g.user
form = AdjustPWMForm(dutyCycle=55)
if form.validate_on_submit():
dutyCycle = form.dutyCycle.data
return redirect(url_for('statusPage'))
return render_template('adjust.html', title='Adjust PWM', user=user, form=form)
这是最好的办法吗?在
而不是
使用
^{pr2}$data
属性保存验证后用户放置的数据。您通过分配给data
重写用户输入。在您可以在GET请求上设置默认值
或者在类中设置默认值
^{pr2}$如果默认值适用于此窗体的所有实例,我会在类定义中设置默认值。如果需要根据其他查找为字段设置默认值,我将使用
form = AdjustPWMForm(dutyCycle=55)
方式设置它。在我通常在“POST”方法之后预填充表单,而不指定请求方法(GET或POST)。 因为我没有在POST方法之前预填充,所以预填充不会影响POST方法附带的任何新值;而且由于我没有指定任何“GET”或“POST”方法,如果POST方法失败,它无论如何都会预填充。在
相关问题 更多 >
编程相关推荐