2010-07-08 7 views
6

Temelde, bir hata olduğunda yeniden görüntülediğimde bir kullanıcının bir formda gönderdiği bazı verileri dezenfekte etmek istiyorum. Bir form nesnesinden veri ayıklamak için bu çok kolaydır. Clean() yöntemini geçersiz kılabilir ve verileri işleyebilirim. İlk gösterimi için .initial değerini de ayarlayabilirim. Ancak, hata durumunda yeniden görüntülenecek form verilerinin işlenmesinde bir yol bulamıyorum. Örneğin, bir kullanıcı "123 456 test testi 7890" bir telefon numarası gönderirse, alfanümerik olmayan karakterleri çıkartabilmek (bu kolay) ve bunları sadece form alanında "1234567890" olarak gösterebilirim .Form nesnesini kullanarak gönderilen form verilerinin değerini nasıl değiştirebilirim ve yeniden görüntülerim?

cevap

18

formun veriler bir sözlük olabilir, bu nedenle örneğin denemek gerekiyordu data değişken, var dan! self.data['phone_numer'] = 123456789 ayarı.

gelmelidir Fakat verilerin (bir istek geliyorsa durum ı olacak sanırım diktatör, immutable olması beklenen bir QueryDict olacaktır, bu yüzden ilk önce kopyalayın:

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

Siz n teşekkür etti, teşekkürler. – stinkypyper