[英]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.