【问题标题】:Django forms.FileField validationDjango forms.FileField 验证
【发布时间】:2012-04-20 18:04:16
【问题描述】:

我在表单中使用了文件字段和文本字段

class SolutionForm(forms.Form):
    text = forms.CharField(widget=forms.Textarea, required=False)
    file  = forms.FileField(required=False)

我还定义了一个干净的方法:

def clean(self,*args, **kwargs):
    if (not self.data['file'] or self.data['text']):
         raise forms.ValidationError('Please enter your code in text box or upload an arrpopriate file.')
return self.data['text']

但是在提交表单时出现以下错误:

"Key 'file' not found in <QueryDict: {u'text': [u''], u'csrfmiddlewaretoken': [u'c52ea10c16620d3ebf0a20f015a3711d'], u'version': [u'C 1.1.1']}>"

如何引用文件字段?

任何帮助将不胜感激。

谢谢,

潘卡杰。

【问题讨论】:

标签: python django forms validation


【解决方案1】:
# inside SolutionForm class
def clean(self):
    if not (self.cleaned_data['file'] or self.cleaned_data['text']):
        raise forms.ValidationError('Please enter your code in text box or upload an appropriate file.')
    return self.cleaned_data

【讨论】:

  • 我的错。我在“clean_text”而不是主要的“clean”方法中进行验证。纠正这个伎俩
猜你喜欢
  • 2013-07-09
  • 2011-05-20
  • 1970-01-01
  • 2012-03-20
  • 2021-12-19
  • 2011-02-12
  • 1970-01-01
  • 1970-01-01
  • 2018-09-28
相关资源
最近更新 更多