Web2py自定义表单和for循环

时间:2013-03-11 01:47:11

标签: python web2py

我是Web2py的新手,所以我希望这不是一个愚蠢的问题。

我有一个带有布尔值的水果数据库。

显然这是一长串的水果,所以我希望它们在列中形成,所以我选择了自定义形式。我也想把水果分组,即柑橘,浆果等。

我的想法是创建一个元组

{{berries = 'strawberries, bilberry, blackberry'}}

然后运行for循环来填写表单字段,所以我尝试了

{{for berry in berries:}} 
{{=form.custom.widget[berry] }}
{{pass}}

我只是看到很多“无”,我认为这是因为我有一个form.custom字符串错误但我尝试了几种方法来解析它但似乎没有工作。

有更好的方法吗?

我的代码应该在视图还是控制器中?

传递变量以使循环和表单生效的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

berries = 'strawberries, bilberry, blackberry'

不是元组 - 它只是一个字符串。因此,您的for循环遍历字符串中的每个字母。如果您在form.custom.widget[key]中提供了不存在的密钥,则会返回None。相反,你想要:

berries = 'strawberries', 'bilberry', 'blackberry'