WTForms RadioField默认值

2024-06-28 16:06:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在生成一个带有如下wtforms的html表单:

<div class="control-group">
    {% for subfield in form.time_offset %}
    <label class="radio">
        {{ subfield }}
        {{ subfield.label }}
    </label>
    {% endfor %}
</div>

我的班级是这样的:

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()])

当我现在打开编辑表单时,我通过SQL获取值1或2-我如何设置specify单选按钮?


Tags: div表单timehtmlchecklabelwtformsclass
3条回答

Form.__init__接受一个关键字参数obj=,如果没有提供formdata或其他默认值,该参数将从给定对象填充表单。将结果从数据库传递给它,它应该可以工作。

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

您可以在设置预选值时构造窗体:

myform = SN4639(time_offset='2')

然后将myform传递给要呈现的模板。

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()])

相关问题 更多 >