我的表单中包含DecimalField
:
price = forms.DecimalField(required=True, widget=forms.NumberInput(
attrs={'class': 'form-control text-right',
'style': 'text-align: right', 'step': '0.00001'}))
当我在模板中显示此字段时,它始终显示如下的值: 如果我在db中的值是145.00000,则在模板中将显示145.00000(OK)。但 如果我在db中的值是14400.00000,则在模板中将显示14,400.00000(不正常),因为当我将此值设置为js的另一个字段时,它将显示错误:
The specified value "14,400.00000" is not a valid number.
The value must match to the following regular expression:
-?(\d+|\d+\.\d+|\.\d+)([eE][-+]?\d+)?
我该如何格式化?我认为如果在整数除法中有超过3位数,它将显示,
而不是.
我的模板看起来像
<td>{{ form.price }}</td>
答案 0 :(得分:2)
在将其呈现给模板之前,您始终可以在控制器级别使用str.replace():
decimal_number = str(decimal_number).replace(",", "")
如果您想在模板级别执行此操作,那么在Django中您可以禁用这样的FloatField格式:
{{ form.price|stringformat:"f" }}
希望它有所帮助。