django上传图片在验证时给出InMemoryUploadedFile错误

时间:2014-07-26 12:12:48

标签: django image upload

我正在尝试制作上传图片表格。但它在ym形式的成功清理时崩溃(获取'InMemoryUploadedFile'对象没有属性'get')

我的表格清洁:

from django.template.defaultfilters import filesizeformat
from django.utils.translation import ugettext_lazy as _
from django.conf import settings

def clean(self):
    content = self.cleaned_data['avatar']
    content_type = content.content_type.split('/')[0]
    if content_type in settings.CONTENT_TYPES:
        if content._size > settings.MAX_UPLOAD_SIZE:
            raise forms.ValidationError(_('Please keep filesize under %s. Current filesize %s') % (filesizeformat(settings.MAX_UPLOAD_SIZE), filesizeformat(content._size)))
    else:
        raise forms.ValidationError(_('File type is not supported'))
    return content

我的设置属性:

MAX_UPLOAD_SIZE = 1310720
CONTENT_TYPES = ['image']

错误很好。但是当没有找到ValidationError时,我得到了InMemory错误。 我做错了什么?

1 个答案:

答案 0 :(得分:1)

您已从self.cleaned_data['avatar']返回def clean()def clean_avatar()应为clean()。 <{1}}无论如何应该返回整个cleaned_data