2010-07-08 1 views
6

본질적으로 오류가있는 경우 다시 표시 할 때 사용자가 양식에 제출하는 일부 데이터를 위생 처리하고 싶습니다. 양식 객체에서 데이터를 추출하는 경우 이렇게하는 것이 쉽습니다. clean() 메서드를 재정의하고 데이터를 조작 할 수 있습니다. 초기 값이 표시 될 때 초기 값을 설정할 수도 있습니다. 그러나 실수로 다시 표시 할 양식 데이터를 조작하는 방법을 찾을 수 없습니다. 예를 들어, 사용자가 "123 456 test test 7890"이라는 전화 번호를 제출했다면, 영숫자가 아닌 문자를 제거하고 양식 필드에 숫자 "1234567890"을 표시 할 수 있기를 원합니다 .양식 개체를 사용하여 제출 된 양식 데이터의 값을 변경하고 다시 표시하려면 어떻게해야합니까?

답변

18

형태의 데이터는 사전, 그래서 예를 시도하도록되어 data 변수의에서! self.data['phone_numer'] = 123456789 설정.

을 제공해야하지만 데이터가 (요청에서 오는 경우 경우 내가 될 것이다 추측) dictonary는 변경 될 수없는 QueryDict이 될 것이므로 먼저 복사하십시오.

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

You n 고맙다. – stinkypyper