Web2py自定义表单和for循环

问题描述:

我是新来的Web2py,所以我希望这不是一个问题太愚蠢。Web2py自定义表单和for循环

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

显然这是一个很长的水果列表,所以我希望它们能够在列中形成,所以我使用自定义表单。我也想组的水果,柑橘,即,浆果等

我的想法是创建一个元组

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

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

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

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

有没有更好的方法来做到这一点?

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

传递变量以获得循环和表单工作的正确方法是什么?

berries = 'strawberries, bilberry, blackberry' 

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

berries = 'strawberries', 'bilberry', 'blackberry' 
+0

谢谢多数民众赞成它。 我还添加了{{= berry}}来标记框 – 4BY 2013-03-11 02:34:06