В вашем коде есть небольшая опечатка. dest.write (фрагмент)

мотрел вокруг на связанные вопросы, но ни один из ответов, похоже, не работает. Я пытаюсь загрузить изображение профиля для пользователя и заменить его (перезаписать) текущее изображение. После сохранения изображения я хочу изменить имя файла на идентификатор пользователя. В текущей форме изображение будет загружено, но оно не заменит существующее изображение (например, оно будет сохранено как 2_1.png).

class PhotoForm(forms.ModelForm):
    def save(self):
        content_type = self.cleaned_data['photo'].content_type.split('/')[-1]
        filename = '%d.%s' % (self.instance.user.id, content_type)

        instance = super(PhotoForm, self).save(commit=False)
        instance.photo = SimpleUploadedFile(filename, self.cleaned_data['photo'].read(), content_type)
        instance.save()
        return instance

    class Meta:
        model = UserProfile
        fields = ('photo',)

def photo_form(request):
    if request.method == 'POST':
        form = PhotoForm(data=request.POST, file=request.FILES, instance=request.user.get_profile())
        if form.is_valid():
            form.save()
    else:
        form = PhotoForm()
    return render(request, 'photo_form.html', {'form': form})

Ответы на вопрос(1)

Ваш ответ на вопрос