Selbst zu schweben, obwohl ich diese Zeile in meinem settings.py setzen:Django Valueerror: konnte nicht Zeichenfolge konvertieren
LANGUAGE_CODE = 'pt-br'
TIME_ZONE = 'America/Sao_Paulo'
USE_I18N = True
USE_L10N = True
USE_TZ = True
DECIMAL_SEPARATOR = ','
DATE_INPUT_FORMATS = ['%d/%m/%Y']
DATE_FORMAT = r'd/m/Y'
Wie hier angegeben: https://docs.djangoproject.com/en/1.10/ref/settings/#decimal-separator
Selbst mit L10N auf False festgelegt wird es nicht erkennen (obwohl sollte der Sprachcode bereits eingestellt Dezimaltrennzeichen als Komma)
noch Django wird das Komma als Dezimalzeichen
Actual er nicht erkennen ror:
ValueError: could not convert string to float: '123,123'
Das Feld ist nur ein Standard-FloatField, ich verwende keine Formulare.
Was könnte dazu führen, dass das Komma nicht erkannt wird?
Dies ist der views.py Code:
def new_object(request):
data = json.loads(request.body.decode("utf-8"))
model_name = data.get('model')
model = apps.get_model(app_label='cadastroimoveis', model_name=model_name)
obj = model(**data.get('fields'))
obj.save()
Die gesendete Anforderung ist nur ein JSON mit den Feldern als Strings
Edit: Ich habe gerade überprüft und nicht einmal die DATE_INPUT_FORMATS es funktioniert, ist es noch erwarten die Standardwerte
Vielleicht dies verursachen:. * Beachten Sie, dass, wenn USE_L10N auf True gesetzt ist, dann ist die locale-diktierte Format eine höhere Priorität hat und stattdessen angewendet werden *? –
@nik_m versuchte das bereits, aber meine Gebietsschema-Einstellungen sollten eigentlich Komma als Trennzeichen definieren – Mojimi
Habe dies gesehen [diese Frage] (http://stackoverflow.com/questions/1779288/how-doi-i-use-python-to- convert-a-string-zu-Nummer-wenn-es-hat-Kommas-in-es-als-th)? –