Не могу изменить изображение с помощью imagekit ModelForm
В настоящее время я использую:
- Python 3.3
- Джанго 1.6.5
- django-imagekit 3.2.1
- Django-Guardian (я не думаю, что это связано, я могу подтвердить, что разрешения на уровне строк являются правильными в модели профиля)
Я не могу изменить изображение профиля через ModelForm. Кажется, что ModelForm обновляет все остальные поля, присоединенные к модели, при отправке через UpdateView (переходит к 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'] является None
self.request.FILES is MultiValueDict: {}