0

我的形式元件是一個複選框這樣:BadValueError:預期布爾

<input type="checkbox" class="form-check-input" name="opt_in"> 

該場所被模型中的定義如下:

patient_optin = ndb.BooleanProperty() 

當運行AppEngine上的代碼(局部)並嘗試把數據存儲區我得到這個錯誤:

BadValueError: Expected bool, got u'on' 

我需要轉換此值一些如何?

回答

0

您只需將字符串轉換爲布爾值即可。

試試這個:

patient.patient_optin = self.request.POST.get('opt_in') == 'on' 
+0

,但不會只是它設置「對」,如果什麼人點擊複選框以「關」到?另外,如果我希望它使用值是/否或除開/關之外的其他值 – TimothyAURA

+1

如果人選擇的值是'off',那麼*比較*'self.request.POST ['opt_in' ] =='on''將會是'False'。 *比較*不會將任何內容設置爲「僅」真「或」假「。 –

+0

好吧我試過了,從appengine得到了錯誤: opt_in = self.request.get(「opt_in」)== on NameError:全局名稱'on'沒有定義 – TimothyAURA

相關問題