0

我正在学习 web2py,但遇到了一些麻烦。我有一个一对多的关系,定义如下:

db.define_table('dog',
    Field('name', requires=IS_NOT_EMPTY()))
db.define_table('person',
    Field('name', requires=IS_NOT_EMPTY()),
    Field('dogs', 'list:reference dog'))

db.person.dogs.widget=SQLFORM.widgets.checkboxes.widget

一只狗有一个主人,但一个主人可以养多只狗。

在我的控制器中,我创建了一个表单,其中包含一个人姓名的文本字段,以及一个表示为复选框的狗列表。

创建表单的控制器代码很简单:

form = SQLFORM(db.person)   # rendered with {{=form}} in views

这可行,但在复选框列表的末尾有一个奇怪的文本输入,它被标记为禁用:

<tr><td><input class="hidden" disabled="disabled" name="dogs" type="text" /></td></tr>

这实际上并没有隐藏,只是变灰了。

我查看了 web2py 源代码,复选框小部件位于 web2py.gluon.sqlhtml 中,但我很难解释为什么它将这个禁用的输入附加到复选框列表中。

谁能澄清为什么有这个禁用的输入,或者如何在没有这个问题的情况下正确创建这个表单?

4

1 回答 1

0

Anthony 的评论是正确的:我忘记加载 css 文件。

于 2013-04-04T20:09:25.510 回答