Не могу изменить изображение с помощью imagekit ModelForm

В настоящее время я использую:

  1. Python 3.3
  2. Джанго 1.6.5
  3. django-imagekit 3.2.1
  4. 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: {}

0 ответов

Другие вопросы по тегам