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?
6
A
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
Siz n teşekkür etti, teşekkürler. – stinkypyper