我目前正在使用:
我似乎无法通过ModelForm更改配置文件图像。当通过UpdateView提交时,ModelForm似乎更新了附加到模型的所有其他字段(转到success_url)。我已经尝试使用普通的ImageField并使用form-ProcessedImageField,但这也无效。奇怪的是,我实际上可以使用UpdateView“删除”图像(意味着删除了对图像的引用,它保留在磁盘上)。此外,我可以在管理页面中自由更改图像,也可以正确生成缩略图。
不知道还有什么可以尝试或者在这里发生了什么。非常感谢帮助。
型号:
class Profile(models.Model):
...
avatar = ProcessedImageField(
upload_to=get_upload_filepath,
processors=[ResizeToFill(500, 500)],
format='JPEG',
blank=True,
default='img/200x200.gif'
)
avatar_thumbnail = ImageSpecField(
source='avatar',
processors=[ResizeToFill(200,200)],
format='JPEG',
options = {
'quality': 100
}
)
... some more fields
辅助功能:
def get_upload_filepath(instance, filename):
return '/'.join(['img', instance.user.username, 'avatar.jpg'])
的ModelForm:
class ProfileForm(ModelForm):
... overridden widgets on some fields
class Meta:
model = Profile
fields = ('first_name', 'last_name', 'birth_date', 'phone_number', 'avatar')
编辑:
form.cleaned_data ['avatar']是无
self.request.FILES是MultiValueDict:{}