我在我的一个表单中验证文件mime类型,如果检查失败则引发ValidationError。问题是,即使检查通过,也会显示ValidationError,并且我不确定原因。代码如下。
forms.py
def clean_video(self):
file = self.cleaned_data.get('video', False)
valid = 'no'
if file:
import mimetypes
mimetypes.init()
mime = mimetypes.guess_type(str(file))
if str(mime[0]) == 'video/mp4':
valid = 'yes'
return file, valid
else:
raise forms.ValidationError(_('File type not supported. Please upload a file of type .mp4.'))
return file, valid
mime
在正确的文件类型上传中最终成为('video/mp4', None)
,但仍会引发ValidationError,这是我感到困惑的地方。请停下来!