【发布时间】:2019-10-05 12:58:12
【问题描述】:
类似于这个问题: Dynamic choices WTForms Flask SelectField
在我的烧瓶应用程序中,我有一个带有多个选择字段的 WTForm。我想动态分配选择字段的数量和选择字段的选择。
class FormEntry(FlaskForm):
selectfield = SelectField('Name', coerce=int, choices=[('1', 'default_choice1'), ('2', 'default_choice2')])
class MyForm(FlaskForm):
form_entries = FieldList(FormField(FormEntry), min_entries=1)
创建一个 FormEntry 的实例并分配选项:
my_entry = FormEntry()
my_entry.selectfield.choices =[('3', 'mychoice3'), ('4', 'mychoice4')]
但是,当我使用此条目创建表单的实例时,选项不是我选择的选项,而是默认选项:
form_entries = [my_entry, my_entry]
form = MyForm(form_entries=form_entries)
for entry in form.form_entries:
print(entry.selectfield.choices)
打印输出:
[('1', 'default_choice1'), ('2', 'default_choice2')]
[('1', 'default_choice1'), ('2', 'default_choice2')]
出了什么问题,如何正确分配选项?
【问题讨论】:
-
建议的重复问题不正确;它不是重复的。我也遇到了这个问题,发现这篇文章很有用。