2013-03-11 60 views
1

我是新來的Web2py,所以我希望這不是一個問題太愚蠢。Web2py自定義表單和for循環

我有一個水果與布爾值的數據庫。

顯然這是一個很長的水果列表,所以我希望它們能夠在列中形成,所以我使用自定義表單。我也想組的水果,柑橘,即,漿果等

我的想法是創建一個元組

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

,然後運行一個for循環來填寫表單字段,所以我嘗試

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

我剛看到很多「無」,我認爲這是因爲我有form.custom字符串錯誤,但我已經嘗試了幾種方法來解析它,但似乎沒有工作。

有沒有更好的方法來做到這一點?

我的代碼應該在視圖還是控制器中?

傳遞變量以獲得循環和表單工作的正確方法是什麼?

回答

1
berries = 'strawberries, bilberry, blackberry' 

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

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

謝謝多數民衆贊成它。 我還添加了{{= berry}}來標記框 – 4BY 2013-03-11 02:34:06