sti*_*per 10 django django-forms
基本上我想清理用户在表单中提交的一些数据,如果出现错误,我会重新显示它.如果我从表单对象中提取数据,这很容易做到.我可以覆盖clean()方法并操纵数据.我也可以在第一次显示时设置.initial值.但是,我找不到一种方法来处理将在出错时重新显示的表单数据.例如,假设用户提交的电话号码为"123 456 test test 7890",我希望能够删除非字母数字字符(这很容易),并在表单字段中只显示数字"1234567890" .
Ber*_*ant 22
如果数据来自请求(如果您使用视图就是这种情况),则form.data字典将是一个QueryDict应该是不可变的.值得庆幸的是,您可以通过先复制它来修改它:
self.data = self.data.copy()
self.data['phone_number'] = 1234567890
如果您直接更改不是来自视图请求的表单实例,您可以直接更改form.data字典(这是一个简单的字典对象),如下所示:
# Don't need to copy `data` first
self.data['phone_numer'] = 123456789
| 归档时间: | 
 | 
| 查看次数: | 5440 次 | 
| 最近记录: |