我正在尝试实现一个表单,其中每个字段都有多个选项,并且必须是复选框行。我想在行标题中显示此表单,在相应行中显示复选框选项。我还需要有关数据库表实现的帮助。任何帮助将不胜感激。我是web2py的新手。提前谢谢。
答案 0 :(得分:0)
到目前为止你尝试了什么?听起来你想要一个带有布尔值的数据模型:
(在models / ???。py - 确保它在db.py之后执行并且你已经定义了一个DB)
db.define_table('table_name',
Field('SomeFieldA', 'boolean')
Field('SomeFieldB', 'boolean')
Field('SomeFieldC', 'boolean')
Field('SomeFieldD', 'boolean')
... etc ...
)
您可能需要实现自定义表单才能获得所需的布局,因为我无法想到采用开箱即用的方式。
您需要从以下内容开始:
<table>
{{=form.custom.begin}}
<thead>
<tr>
{{ #loop over form field labels... something like:
for field in form.fields: }}
<th>{{=field.label}}</th>
{{ pass }}
</tr>
</thead>
<tbody>
<tr>
{{for field in form.fields: }}
<td>{{ =form.custom.widget[field] }}</td>
{{ # or directly access it without a loop with form.custom.widget.SomeFieldA }}
{{ pass }}
</tr>
</tbody>
{{=form.custom.submit}}
{{=form.custom.end}}
</table>
请注意,我尚未测试任何此代码,我可能正在访问表单字段并标注错误。如果需要预先填充表单,请在控制器中执行此操作。上面的自定义表单链接也讨论了预填充。