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