【问题标题】:Django Form Decimal field initial data with 2 decimal places带有 2 个小数位的 Django Form Decimal 字段初始数据
【发布时间】:2016-10-23 05:43:41
【问题描述】:

我有一个带有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 获得的字符串中去除小数位,然后再将其传递给表单初始值。但我认为可能有更好的解决方案。

【问题讨论】:

  • 在将表单传递给模板之前去掉多余的数字。

标签: python django python-2.7 django-forms


【解决方案1】:

您需要导入十进制。

from decimal import Decimal

而不是初始写入

default=Decimal('5.00')

可以解决你的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    • 2020-07-19
    • 2018-08-09
    • 1970-01-01
    • 2018-04-28
    • 2011-12-16
    • 1970-01-01
    相关资源
    最近更新 更多