0

我的 Django 应用程序的 forms.py 中有这个表单类:

class EmailForm(EmailFormWithoutAttachment):
    attachment = forms.FileField()

我想通过一个干净的函数访问在 forms.py 中上传的文件以验证其名称。

def clean_attachment(self):
    if self.data['attachment'].name == "someFileName.txt":
        raise forms.ValidationError('This file is not allowed.')
    return self.data['attachment']

但是,问题是错误提示在“QueryDict”中找不到“附件”。我将 request.FILES 绑定到提交表单。我还在我的表单上使用 enctype="multipart/form-data" 。我想知道在 forms.py 中访问 FileField 数据的正确方法是什么。

谢谢你。

4

1 回答 1

4

使用self.cleaned_data['attachment']而不是self.data['attachment'].

于 2011-06-22T23:02:51.577 回答