Не сохраняется картинка Django

VIEWS.PY

def Profile(request):
if request.method == "POST":
    profile = UserForm(request.POST, request.FILES, instance=request.user)
    if profile.is_valid():
        profile.save()
    return redirect("Profile")
profile = UserForm(instance=request.user)
return render(request, "book/Profile.html", context={"user": request.user, "profile": 
profile})

FORMS.PY

class UserForm(forms.ModelForm):
username = forms.CharField(max_length=50, label='Username', widget=forms.TextInput(attrs={"class": "form-control"}))
email = forms.EmailField(label='Email', widget=forms.EmailInput(attrs={"class": "form-control"}))
first_name = forms.CharField(max_length=50, required=False, label='First name', widget=forms.TextInput(attrs={"class": "form-control"}))
last_name = forms.CharField(max_length=50, required=False, label='Last name', widget=forms.TextInput(attrs={"class": "form-control"}))
avatar = forms.ImageField(required=False, widget=forms.FileInput(attrs={"class": "form-control"}))

class Meta:
    model = User
    fields = ('username', 'first_name', 'last_name', 'email', 'avatar')

MODELS.PY

class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
avatar = models.ImageField(upload_to='UserAvatar/%Y/%m/%d/', blank=True)


@receiver(post_save, sender=User)
def create_user_profile(sender, instance, created, **kwargs):
   if created:
       Profile.objects.create(user=instance)


@receiver(post_save, sender=User)
def save_user_profile(sender, instance, **kwargs):
   instance.profile.save()

SETTINGS.PY

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

PROFILE.HTML

<div class="modal-body">
            <form method="post" enctype="multipart/form-data">

                {% csrf_token %}
                {{ profile }}

                <div class="modal-footer">
                    <button type="submit" class="btn btn-primary">Save changes</button>
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                </div>
            </form>
        </div>

Картинка сохраняется в <MultiValueDict: {'avatar': [<InMemoryUploadedFile: hamster.png (image/png)>]}>. Что я делаю неправильно ? Заранее спасибо.

Вернуться на верх