十进制的文字无效:u'3,982.75'

时间:2013-01-29 05:47:50

标签: django

我无法使用不接受本地化输入的本地化表单字段。使用逗号作为小数分隔符输入数字会触发验证错误。怎么修好了?如何使该值对十进制字段有效?

这是我的样本models.py

class BankAccount(models.Model):
    balance = models.DecimalField(max_digits=10,
        decimal_places=2, default="0.00")

在我的views.py中,错误触发:

def manual_opening(request):
    if request.method == 'POST':
       opening_bal = request.POST.get('opening_bal')
       form = AddBankAccountForm(request.POST)
       if form.is_valid():
           form.cleaned_data['balance'] = Decimal(opening_bal)
           .....

当我的用户输入一个值时,例如3,485.78,他们的开幕式。系统会触发一个错误,即Decimal函数不允许该操作,因为该数字带有逗号。

1 个答案:

答案 0 :(得分:2)

谷歌搜索揭晓了真相! Format Localization

revenue = forms.DecimalField(max_digits=4, decimal_places=2, localize=True)