我有动态表格:
class CollectionRequestParamForm(Form):
param_human_name = StringField(validators=[DataRequired()])
param_request_name = StringField()
class CollectionRequestParamCombinedForm(FlaskForm):
params = FieldList(FormField(CollectionRequestParamForm), min_entries=1)
submit = SubmitField('Submit')
用户发送表单后,我在我的收藏中添加这样的dict(我使用MongoDB):
example_form = {
'Имя': 'name',
'Возраст': 'age'
}
当然,如果需要我可以改变我的数据结构,例如:
example_form = [
{'param_human_name': 'Имя', 'param_request_name': 'name'},
{'param_human_name': 'Возраст', 'param_request_name': 'age'},
]
现在,我如何用我的dict中的数据填充表单?我累了:
collection_request_params_form = CollectionRequestParamCombinedForm()
i = 0
for key, value in example_form.items():
collection_request_params_form.params.data[i]['param_human_name'] = key
collection_request_params_form.params.data[i]['param_request_name'] = value
## Or...
collection_request_params_form.data['params'][i]['param_human_name'] = key
collection_request_params_form.data['params'][i]['param_request_name'] = value
i += 1
这不起作用:(
我如何用dict填充表单?
P.S。对不起我的英语不好..关于俄罗斯stackoverflow社区的这个问题:This question on russian stackoverflow community with images
谢谢!
答案 0 :(得分:0)
你可以试试这个,我不确定这是否有效。
i=0
for ex in example_form:
for key,value in ex.items():
collection_request_params_form.params.data[i]['param_human_name'] = key
collection_request_params_form.params.data[i]['param_request_name'] = value
## Or...
collection_request_params_form.data['params'][i]['param_human_name'] = key
collection_request_params_form.data['params'][i]['param_request_name'] = value
i+=1
如果这不起作用,您能解释下一行的数据吗?
collection_request_params_form.params.data[i]['param_human_name'] = key