Django GCBV CreateView,设置"localize=False"像表单一样。形式



所以我有这个类,CreateView,我用它来向模型位置.model添加一个新位置。它用坐标和小描述描述某个位置。

由于我将 I18N 设置设置为 True,因此十进制字段将使用逗号分隔的输入。由于它们是坐标,我希望使用"."作为分隔符。

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

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

创建使用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
    ...

相关内容

最新更新