Python Django形式的带空间
我通过邮寄请求获得表格:Python Django形式的带空间,python,django,Python,Django,我通过邮寄请求获得表格: form = ReportDataForm2(req.POST) 我试图通过以下方式从所有字段中删除空格: for element in form: form[element] = form[element].strip() 但这似乎没有任何作用 我还尝试在接收数据时剥离: id = form.cleaned_data['id'].strip() 也不行 我是Django的新手,所以不知道表单是如何处理的 这个怎么样: 您
form = ReportDataForm2(req.POST)
我试图通过以下方式从所有字段中删除空格:
for element in form:
form[element] = form[element].strip()
但这似乎没有任何作用
我还尝试在接收数据时剥离:
id = form.cleaned_data['id'].strip()
也不行
我是Django的新手,所以不知道表单是如何处理的 这个怎么样:
您可以扩展CharField类,创建自己的字段,并随时使用该字段
class StrippedCharField(CharField):
"""Newforms CharField that strips trailing and leading spaces."""
def clean(self, value):
if value is not None:
value = value.strip()
return super(StrippedCharField, self).clean(value)
关于表单数据剥离是否应该由Django处理,已经有很长时间的讨论。最近的线程是实际线程
我还没有在自己上面测试过代码 验证表单字段的一个好地方是
clean\(
方法)
是要验证的字段的名称。例如,如果要验证名为name
的字段,将定义一个clean_name()
方法对其进行验证
一个详细的例子:
class MyForm(forms.Form):
text = forms.CharField(...)
...
def clean_text(self):
stripped_text = self.cleaned_data['text'].strip()
# do some other validation if you want...
return stripped_text
除了剥离,您还可以在那里进行各种验证
.为什么需要剥离数据<代码>表单。已清理的\u数据['start\u date']可能是一个
datetime
对象,不会有剥离方法?我正在另一个字段上剥离。不是日期字段。我在文本字段中添加了strip方法,但没有起作用。您能提供调用strip不起作用的数据吗?在Django 1.9中,您可以通过CharField构造函数中的strip-kwarg免费获得这些数据