0

J'ai donc cette classe, CreateView, je l'utilise pour ajouter un nouvel emplacement au modèle location.model. Il décrit un certain emplacement avec des coordonnées et une petite description.Django GCBV CreateView, définissez "localize = False" comme form.Forms

Depuis que j'ai défini les paramètres I18N sur True, le champ decimalField utilisera des entrées séparées par des virgules. Comme ce sont des coordonnées, je voudrais utiliser le "." en tant que séparateur.

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

Y at-il une telle option avec CreateView, je voudrais utiliser la vue actuelle au lieu de réécrire à une vue de forme.

Mes réglages

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

Toute autre solution serait grande, autre que je voudrais utiliser les vues basées classe générique.

Répondre

2

Créer un modèle de formulaire qui utilise votre DecimalField

class MyForm(forms.ModelForm): 
    my_field = forms.DecimalField(max_digits=16, decimal_places=14, localize=False) 

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

ensuite utiliser cette classe de formulaire dans votre créer vue:

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

Merci pour la réponse, malheureusement, il ne semble pas travailler sur ma fin. Si je place mon champ décimal dans les formulaires sur "localize = False", il utilise toujours le "," comme un séparateur à mettre dans le modèle. Est-ce que j'ai râté quelque chose? –

+0

Je ne peux pas dire pourquoi cela ne fonctionne pas à partir des informations que vous avez données. – Alasdair