Web2py自定义表单和for循环
我刚接触Web2py,所以希望这个问题不会太傻。
我有一个水果的数据库,里面有布尔值。
显然,这个水果的列表很长,所以我想把它们排成列,因此我选择了一个自定义表单。我还想把水果分组,比如柑橘类、浆果类等等。
我的想法是创建一个元组
{{berries = 'strawberries, bilberry, blackberry'}}
然后用一个循环来填充表单字段,所以我试了试
{{for berry in berries:}}
{{=form.custom.widget[berry] }}
{{pass}}
结果我看到很多“none”,我猜这是因为我的form.custom字符串写错了,但我尝试了几种解析方式,都没有成功。
有没有更好的方法来做到这一点?
我的代码应该放在视图里还是控制器里?
怎样正确传递变量才能让循环和表单正常工作?
1 个回答
1
berries = 'strawberries, bilberry, blackberry'
这不是一个元组——它只是一个字符串。所以,你的for
循环是在遍历字符串中的每一个字母。如果你在form.custom.widget[key]
中提供一个不存在的键,它会返回None
。相反,你想要的是:
berries = 'strawberries', 'bilberry', 'blackberry'