Django GCBV CreateView,设置“localize = False”就像form.Forms

时间:2017-06-30 11:55:02

标签: django django-models localization django-forms django-generic-views

所以我有这个类CreateView,我用它来为模型location.model添加一个新位置。它描述了一个带坐标和小描述的特定位置。

由于我将I18N设置为True,decimalField将使用逗号分隔的输入。由于它们是坐标,我想使用“。”作为分隔符。

forms.DecimalField(max_digits=16, decimal_places=14, localize=False)

CreateView是否有这样的选项,我想使用当前视图而不是重写到表单视图。

我的设置

#settings.py
LANGUAGE_CODE = 'nl'
TIME_ZONE = 'Europe/Amsterdam'
USE_I18N = True
USE_L10N = True

除了我想使用基于通用类的视图外,任何其他解决方案都会很棒。

1 个答案:

答案 0 :(得分:2)

创建使用DecimalField

的模型表单
class MyForm(forms.ModelForm):
    my_field = forms.DecimalField(max_digits=16, decimal_places=14, localize=False)

    class Meta:
        model = MyModel
        fields = ['my_field', ...]

然后在创建视图中使用该表单类:

class MyCreateView(CreateView):
    form_class = MyForm
    ...