2010-07-08 11 views
6

Zasadniczo chcę odkażać niektóre dane, które użytkownik przesyła w formularzu, gdy wyświetlam je ponownie, jeśli wystąpił błąd. Jest to łatwe do zrobienia, jeśli wyodrębniam dane z obiektu formularza. Mogę zastąpić metodę clean() i manipulować danymi. Mogę też ustawić wartość .initial po raz pierwszy, gdy jest wyświetlana. Jednak nie mogę znaleźć sposobu na manipulowanie danymi formularza, które będą wyświetlane ponownie w przypadku błędu. Załóżmy na przykład, że użytkownik wysyła numer telefonu "123 456 test testowy 7890", chcę mieć możliwość usunięcia znaków niealfanumerycznych (to jest łatwe) i pokazać im tylko liczby "1234567890" w polu formularza .Jak zmienić wartość przesłanych danych formularza za pomocą obiektu formularza i wyświetlić go ponownie?

Odpowiedz

18

danych postaci powinna pochodzić z jego data zmienna, która ma być słownikiem, więc spróbuj np. ustawienie self.data['phone_numer'] = 123456789!

Ale jeśli dane pochodzące z prośbą (co będzie miało miejsce i zgadnij) dyktonariusz będzie QueryDict, który ma być niezmienny, więc najpierw skopiuj:

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

You n zlałeś to, dzięki. – stinkypyper

Powiązane problemy