Python 如何在WTForms RadioField中动态设置默认值?

Python 如何在WTForms RadioField中动态设置默认值?,python,forms,flask,default,wtforms,Python,Forms,Flask,Default,Wtforms,我正在用我使用的Python框架构建一个网站。在一种形式中,我得到了如下定义: display = RadioField('display', default='ONE') 这没有定义任何选项,因为我在lateron中这样做(这非常好): 现在,我想在为RadioField设置选项后为其设置默认值。因此,我尝试从定义中删除默认值(我不确定'ONE'是否始终是可用的选项),并在创建选项后创建默认值,如上文所述: myForm.display.default = 'ONE' 不幸的是,这根本没有

我正在用我使用的Python框架构建一个网站。在一种形式中,我得到了如下定义:

display = RadioField('display', default='ONE')
这没有定义任何选项,因为我在lateron中这样做(这非常好):

现在,我想在为RadioField设置选项后为其设置默认值。因此,我尝试从定义中删除默认值(我不确定
'ONE'
是否始终是可用的选项),并在创建选项后创建默认值,如上文所述:

myForm.display.default = 'ONE'
不幸的是,这根本没有效果。如果我在字段定义中手动设置它,就像在它正常工作之前一样,但如果我在创建选项后动态设置它,则不会


有人知道如何在WTForms中动态设置RadioField的默认值吗?欢迎所有提示

添加选项并设置
default
属性后,需要运行
myForm.process()

myForm = MyForm()
myForm.display.choices = [('ONE', 'one'), ('TWO', 'two')]
myForm.display.default = 'ONE'
myForm.process() # process choices & default

这是因为
默认值
被传播到
过程
方法中的字段值(以及在
无线字段
的情况下,
选中的
属性),它在构造函数中被调用。

您可以在表单构造函数中传递默认值,这样您就可以首先获得选项,然后将默认选项传递给MyForm构造函数:MyForm(display='ONE')
myForm = MyForm()
myForm.display.choices = [('ONE', 'one'), ('TWO', 'two')]
myForm.display.default = 'ONE'
myForm.process() # process choices & default