2010-07-08 7 views
6

Im Wesentlichen möchte ich einige Daten bereinigen, die ein Benutzer in einem Formular einreicht, wenn ich es wiedergebe, wenn es einen Fehler gibt. Das ist einfach zu tun, wenn ich die Daten aus einem Formularobjekt extrahiere. Ich kann die clean() -Methode überschreiben und die Daten manipulieren. Ich kann den Initialwert auch zum ersten Mal einstellen, wenn er angezeigt wird. Ich kann jedoch keine Möglichkeit finden, die Formulardaten zu manipulieren, die im Fehlerfall erneut angezeigt werden. Angenommen, ein Benutzer sendet eine Telefonnummer von "123 456 test test 7890", möchte die nicht alphanumerischen Zeichen entfernen (das ist einfach) und ihnen nur die Zahlen "1234567890" im Formularfeld anzeigen .Wie ändere ich den Wert der übermittelten Formulardaten mit dem Formularobjekt und zeige es erneut an?

Antwort

18

sollten die Daten des Formulars kommen aus es data Variable ist, die ein Wörterbuch sein, soll so versuchen, z. B. self.data['phone_numer'] = 123456789!

Aber wenn die Daten von einem Anfrage kommt (was der Fall sein wird Einstellung i guess) die dictonary ein QueryDict sein wird, die unveränderlich sein soll, so kopieren Sie es zuerst:

self.data = self.data.copy() 
self.data['phone_number'] = 1234567890 
+0

Sie n schade, danke. – stinkypyper

Verwandte Themen