簡體   English   中英

Python:Pypugjs無線電字段中的Wtforms無法正常工作

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM