Frage

Meine locale date wird dd / mm / yyyy und Django ist requering AAAA-MM-DD

, wenn die Benutzereingaben 04.11.2009 Django aufwirft:

_('Enter a valid date in YYYY-MM-DD format.')) 

Im mit einfachem HTML-Eingabefeld type = "text", nicht forms.DateField

Danke:)

War es hilfreich?

Lösung

Ich gehe davon aus Sie einen forms.DateField verwenden. Wenn ja, müssen Sie wie so ein input_formats Argument liefern:

class MyForm(forms.Form):
    start_date = forms.DateField(input_formats=['%d/%m/%Y'])

input_formats dauert nur eine Liste der Formate, die Sie annehmen möchten.

Siehe http://docs.djangoproject.com/en/ dev / ref / forms / Felder / # Datefield für weitere Informationen.

Andere Tipps

Auf der Grundlage der Post OP und Kommentaren, es sieht aus wie mehr gibt es hier als nur input_formats für das Datumsfeld verwenden, wenn Sie das tun wollen werden. Die Meldung ‚Geben Sie ein gültiges Datum in YYYY-MM-DD-Format‘ ist eine Ausnahme und nicht ein Formular Validierungsfehler. Sie finden diese Ausnahme erhalten, wenn Sie versuchen, eine Modellinstanz mit einem Datum Zeichenfolge zu speichern, die nicht ‚YYYY-MM-DD‘ ist.

Was wir brauchen, ist eine Datefield in Form zu verwenden, und dann das Modell instanziiert die gereinigten Daten verwenden, die ein Datetime-Objekt ist. Es sieht aus wie der OP wurde das Modell mit einer Reihe eher als ein Datetime-Objekt zu erhalten.

In diesem Abschnitt wird der Django-Dokumentation beschreibt die Vorbereitung Datefield-Daten: https: // docs.djangoproject.com/en/dev/ref/models/instances/?from=olddocs#what-happens-when-you-save

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top