[英]Python: Wtforms in pypugjs radio field doesn't work correctly
我正在用wtforms構建表單。 有一個無線電場。 這是它的數據:
[(0, 'Active'),(1, 'Inactive'),]
我在pypugjs中渲染字段:
input(type='radio', name=key, value=option_key, checked=(record_data[key]==option_key))=option_value
提交后,我得到了Not a valid choice
錯誤。 但是在將選項更改為字符串值(1->'1')之后
[('0', 'Active'),('1', 'Inactive'),]
現在它可以與Wtforms驗證一起使用,所以這意味着我必須在RadioField
使用字符串作為單選值?
然后是新的麻煩:即使在使用條件檢查相等值后,我也無法檢查pypugjs字段
if record_data[key]==option_key
|matched
即使|#{record_data[key]}-#{option_key}-
為1-1-
|#{record_data[key]}-#{option_key}-
也1-1-
所以這意味着pypugjs不匹配兩個相同的值,因為一個是Integer,一個是String?!
我該如何運作?
RadioField類采用coerce
參數,該參數定義了一個函數,該函數應用於POST請求中接收的值。 RadioField
的默認coerce
功能是unicode
,因此該字段的值是一個字符串,但是您可以改用int
以獲得整數。
class Foo(wtforms.Form):
bar = wtforms.RadioField(coerce=int, choices=[(0, 'active'), (1, 'inactive')])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.