файл изображения не загружается в Django? - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь загрузить изображения через ajax, и внешний интерфейс, кажется, работает, и у меня есть данные изображения в request.FILES.но изображения не загружаются на стороне сервера.

вот мое представление django:

@login_required
def update_profile_image(request):
    print(request.FILES)

    if request.method == 'POST':
        p_form = ProfileUpdateForm(request.POST, request.FILES, instance=request.user.profile)
        if p_form.is_valid():
            p_form.save()

            context = {'None': 'none'}
            return JsonResponse(context)
        else:
            return HttpResponse('None')

форма действительна, но изображение не загружено в каталог MEDIA.

моя модель:

from django.db import models
from django.contrib.auth.models import User


class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    image = models.ImageField(default='default.jpg', upload_to='profile_pics')

    def __str__(self):
        return f'{ self.user.username } Profile'

и форма:

from django.db import models
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
from .models import Profile

class ProfileUpdateForm(forms.ModelForm):
    class Meta:
        model = Profile
        fields = ['image']

кстати, это мой AJAX-вызов (который, как я уже сказал, работает).

$(document).on('submit', '#profile_edit_form', function(event){

  event.preventDefault();

        $.ajax({
            url         : "/users/update_profile_image/",
            type        : 'POST',
            //enctype     : "multipart/form-data",   //it is done inside jquery
            data        : formdata,
            cache       : false,
            contentType : false,
            processData : false,
            success : function(data) {
              console.log('success');
              //$('#profile_picture').html(data.)

            },
            error: function(data) {
              console.log('image-fail');
            }
        });

});

Что я делаю неправильно в моей функции просмотра?

спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...