我正在使用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-我如何预置指定的单选按钮?
发布于 2014-12-08 06:16:13
default=2需要是字符串类型,而不是整型:
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()])发布于 2013-06-30 11:22:01
如果我正确理解您的问题,您希望用预先选择的选项呈现表单(而不是在没有向表单提交值的情况下返回默认选项)...
您可以做的是在设置预选值的同时构造表单:
myform = SN4639(time_offset='2')然后将myform传递给要呈现的模板。
发布于 2021-04-20 23:40:27
我的朋友
在实例化表单之后,您需要用数据库中的数据填充.data字段。请参见该示例:
my_instance = SN4639()
my_db_id = get_id_on_my_db()  # fill the variable with the database id
my_instance.time_offset.data = my_db_id  # here's the cat jump现在,当您在HTML语言中使用my_instance.time_offset ()时,将选择正确的单选按钮
重要提示:
如果您的id是整数,则必须在RadioField中添加参数coerce=int。请参见该示例:
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')],
    coerce=int,
    default=2, validators=[Required()])https://stackoverflow.com/questions/16694121
复制相似问题