表单字段是否有任何选项,以便任何输入都应自动转换为大写字母并在开头和结尾处从空格中修剪?
如果没有,执行上述选项的最佳做法是什么?
答案 0 :(得分:1)
您可以覆盖clean
方法。
class MyForm(forms.Form):
def clean(self):
return dict([(k, v.strip().upper()) for k, v in self.cleaned_data.items()])
请注意,这将运行/之后/单个字段验证。
防止日期错误
def clean(self):
result = {}
for k, v in self.cleaned_data.items():
try:
result[k] = v.strip().upper()
except AttributeError:
result[k] = v
return result
您还可以检查该值是否为isinstance(value, basestring)
并且仅对这些值进行操作。