无法使用imagekit ModelForm更改图像

时间:2014-06-30 22:53:33

标签: python django django-imagekit imagekit

我目前正在使用:

  1. Python 3.3
  2. Django 1.6.5
  3. django-imagekit 3.2.1
  4. django-guardian(我不认为它是相关的,我可以确认Profile模型上的行级权限是正确的)
  5. 我似乎无法通过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:{}

0 个答案:

没有答案