WTForms RadioField默认值

Kil*_*thy 13 python wtforms

我正在使用这样的wtforms生成一个html表单:

<div class="control-group">
    {% for subfield in form.time_offset %}
    <label class="radio">
        {{ subfield }}
        {{ subfield.label }}
    </label>
    {% endfor %}
</div>
Run Code Online (Sandbox Code Playgroud)

我的表单类是这样的:

class SN4639(Form):
    time_offset = RadioField(u'Label', choices=[
        ('2', u'Check when Daylight saving has begun, UTC+02:00'),
        ('1', u'Check when Daylight saving has stopped, UTC+01:00')],
        default=2, validators=[Required()])
Run Code Online (Sandbox Code Playgroud)

当我现在打开编辑表单时,我通过SQL获得值1或2 - 如何预设特定的单选按钮?

spa*_*ker 8

default = 2需要是string类型,而不是int:

class SN4639(Form):
    time_offset = RadioField(u'Label', choices=[
        ('2', u'Check when Daylight saving has begun, UTC+02:00'),
        ('1', u'Check when Daylight saving has stopped, UTC+01:00')],
        default='2', validators=[Required()])
Run Code Online (Sandbox Code Playgroud)


Bra*_*ing 3

如果我正确理解您的问题,您希望使用预先选择的选项呈现表单(而不是在没有向表单提交任何值的情况下返回默认选择)...

您可以做的是在设置预选值的同时构建表单:

myform = SN4639(time_offset='2')
Run Code Online (Sandbox Code Playgroud)

然后传递myform给您的模板进行渲染。