4

フォームでファイルフィールドとテキストフィールドを使用しています

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

clean メソッドも定義しました。

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']}>"

ファイルフィールドを参照するにはどうすればよいですか?

どんな助けでも大歓迎です。

ありがとう、

パンカジ。

4

1 に答える 1

2
# 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
于 2012-04-07T16:09:23.293 に答える