我遗漏了一些相当简单但却无法弄清楚如何正确读取db.select查询以便在表单args中使用的东西。
示例代码:
class index:
form = web.form.Form(form.Dropdown(name='option',args=[]))
def GET(self):
dbresult = db.select('test')
options = db.select('test',what='name',group='name')
form = self.form()
form.option.args = options
return render.index(dbresult,form)
此返回(存储{'名称':u' google'})作为表单参数之一。我想要的只是谷歌回读。我知道我错过了一些简单的指针吗?感谢。
答案 0 :(得分:0)
试试这个:
class index:
form = web.form.Form(form.Dropdown(name='option',args=[]))
def GET(self):
dbresult = db.select('test')
options = db.select('test',what='name',group='name')
form = self.form()
form.option.args = [(o.name, o.name) for o in options]
return render.index(dbresult,form)
Dropdown args应该是列表或列表列表。在(o.name, o.name)
中,第一个是选项的值(我通常将其设置为列的id),第二个是其描述。如果它们相同,那么[o.name for o in options]
也应该有效。