我正在尝试实现一个表单,其中每个字段都有多个选项,并且必须是复选框行。我想在行标题中显示此表单,并在相应行中显示复选框选项。我还需要数据库表实现方面的帮助。任何帮助将不胜感激。我是 web2py 的新手。提前致谢。
问问题
2053 次
1 回答
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>
请注意,我没有测试过任何这段代码,我可能会错误地访问表单字段和标签。如果您需要预先填充表单,请在控制器中执行此操作。上面的自定义表单链接也讨论了预填充。
于 2012-07-31T15:40:44.383 回答