我正在使用这样的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 - 如何预设特定的单选按钮?
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)
如果我正确理解您的问题,您希望使用预先选择的选项呈现表单(而不是在没有向表单提交任何值的情况下返回默认选择)...
您可以做的是在设置预选值的同时构建表单:
myform = SN4639(time_offset='2')
Run Code Online (Sandbox Code Playgroud)
然后传递myform给您的模板进行渲染。