gpt4 book ai didi

python - 如何接受点和逗号作为 WTForms 的小数点分隔符?

转载 作者:太空狗 更新时间:2023-10-30 01:01:14 26 4
gpt4 key购买 nike

我正在使用 WTForms显示和验证表单输入。我用 DecimalField对于金额输入,在插入带有点作为小数点分隔符的值时效果很好。由于此网站将在欧洲大陆使用,因此我希望允许使用逗号作为小数点分隔符。这意味着 “2.5”和“2,5”的值应该表示“二分之一”。

当我输入一个带逗号的值时,我收到一条错误消息:'不是有效的十进制值'。我如何接受点和逗号作为 WTForms 的小数点分隔符?


我知道我可以使用 Babel 来使用基于语言环境的数字格式,但我不想那样。我特别想接受点和逗号作为分隔符值。

最佳答案

您可以子类化 DecimalField 并在处理数据之前用句点替换逗号:

class FlexibleDecimalField(fields.DecimalField):

def process_formdata(self, valuelist):
if valuelist:
valuelist[0] = valuelist[0].replace(",", ".")
return super(FlexibleDecimalField, self).process_formdata(valuelist)

关于python - 如何接受点和逗号作为 WTForms 的小数点分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28057252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com