0

所以我有这个类,CreateView,我用它来添加一个新的位置模型location.model。它描述了具有坐标和小描述的特定位置。Django GCBV CreateView,设置“localize = False”like form.Forms

由于我将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 

任何其他解决办法将是巨大的,除了我想使用泛型类为本次。

回答

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 
    ... 
+0

感谢您的回答,遗憾的是它似乎并没有被工作我的结局。如果我在“localize = False”的表单中设置了我的小数点字段,它仍然使用“,”作为分隔符放入模型中。我在这里错过了什么吗? –

+0

我不明白为什么它不能从你提供的信息中工作。 – Alasdair