88 Stimmen

Wie kann ich den Wert eines Django-Formularfeldes in einer Vorlage anzeigen?

Ich habe ein Formular mit einer E-Mail-Eigenschaft.

Bei der Verwendung von {{ form.email }} Im Falle eines Validierungsfehlers rendert Django immer noch den vorherigen Wert im value-Attribut des input-Tags:

<input type="text" id="id_email" maxlength="75" class="required"
       value="some@email.com" name="email">

Ich möchte das Eingabe-Tag selbst rendern (um etwas JavaScript-Code und eine Fehlerklasse für den Fall eines Fehlers hinzuzufügen). Zum Beispiel ist dies meine Vorlage anstelle von {{ form.email }} :

<input type="text" autocomplete="on" id="id_email" name="email"
       class="email {% if form.email.errors %} error {% endif %}">

Allerdings wird der fehlerhafte Wert nicht angezeigt ( some@email.com in diesem Beispiel) an den Benutzer.

Wie erhalte ich den Wert des Feldes in der Vorlage?

0voto

bigwind Punkte 161

Auf Django 1.2 sind {{ form.data.field }} und {{ form.field.data }} alle OK, aber nicht {{ form.field.value }}.
Wie andere sagten, {{ form.field.value }} ist nur Django 1.3+, aber es gibt keine Spezifikation in https://docs.djangoproject.com/en/1.3/topics/forms/ . Es kann gefunden werden in https://docs.djangoproject.com/en/1.4/topics/forms/ .

-2voto

shanyu Punkte 9226
{{form.fields.email}}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X