Django表示十进制字段的初始数据,带有2个小数位

时间:2016-06-21 15:20:45

标签: python django python-2.7 django-forms

我有一个带有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中删除字符串中的小数位。但我认为可能有更好的解决方案。

1 个答案:

答案 0 :(得分:1)

您需要导入十进制。

from decimal import Decimal

而不是初始写

default=Decimal('5.00')

可能会解决您的问题