0

ローカライズされた入力を受け入れないローカライズされたフォーム フィールドに問題があります。小数点としてカンマを使用して数値を入力すると、検証エラーが発生します。それを修正する方法は?その値を小数フィールドで有効にする方法は?

これが私のサンプル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、opening_bal の場合。数値にコンマが含まれているため、Decimal 関数では操作が許可されないというエラーが発生します。

4

1 に答える 1

2

グーグル検索で真相が判明! 形式のローカリゼーション

revenue = forms.DecimalField(max_digits=4, decimal_places=2, localize=True)
于 2013-01-29T05:53:05.273 に答える