我有一个带有DecimalField
的表单,我从API获取数据,我将其作为初始输入传递给表单。 DecimalField
的定义如下:
school_fee = forms.DecimalField(max_digits=6,decimal_places=2,initial=5.00,required=True")
因此,我将数据作为{'school_fee':u'1234.89373636363'}
获取,当输入字段在模板中呈现时,它显示的值与来自API的值相同,而不是我定义的2位小数。
我正在考虑在将API传递给表单初始化之前从API中删除字符串中的小数位。但我认为可能有更好的解决方案。
答案 0 :(得分:1)
您需要导入十进制。
from decimal import Decimal
而不是初始写
default=Decimal('5.00')
可能会解决您的问题