参考以下表格。在
CONTROL_CHOICES = Session.query(schema.OfficeType).order_by(schema.OfficeType.descr).all()
CONTROL_CHOICES = [(office.id, office.descr) for office in CONTROL_CHOICES]
class ControlForm(Form):
institution = RadioField('Institution', choices=CONTROL_CHOICES)
date = DateField('Date')
submit = SubmitField('SUBMIT')
但是,在填写表单时,validate_on_submit()
不会打印错误,但不会在if
中执行代码
validate()
打印以下错误。在
{'institution': ['Not a valid choice']}
@app.route('/composition_profile', methods=['GET', 'POST'])
def composition_profiles():
if request.method == 'GET':
if request.args.get('institution') and request.args.get('date'):
form = ControlForm(request.args)
print(form.institution.data)
if form.validate():
print('terms')
print(form.errors)
你知道这是怎么导致错误的选择吗?我不太清楚发生了什么事。把它改成QuerySelectField
可以,但是我想要收音机功能
这个问题似乎是由于WTForm期望}这一事实造成的
Value
字段是String
而不是{改变
CONTROL_CHOICES = [(office.id, office.descr) for office in CONTROL_CHOICES]
到
CONTROL_CHOICES = [(str(office.id), office.descr) for office in CONTROL_CHOICES]
缓解问题
考虑重新分解:
来源:http://wtforms.simplecodes.com/docs/1.0.1/specific_problems.html#dynamic-form-composition
相关问题 更多 >
编程相关推荐