Загрузка файла FormData в модель Django?

Я пытаюсь загрузить файл через jQuery ajax-запрос, используя FormData. Когда я устанавливаю processData и contentType в false, я получаю ошибку Forbidden (CSRF token missing.). Когда я удаляю их, я получаю ошибку Uncaught TypeError: 'slice' called on an object that does not implement interface Blob.. Что я упускаю?

$(".form").on("submit", function(event) {
    event.preventDefault();
        
    $.ajax({
        url: "/upload_profile_pic/",
        type: "POST",
        processData : false, 
        contentType : false, 
        data: { "profile_pic": formData.get("file"), "csrfmiddlewaretoken": $(this).find("input[name='csrfmiddlewaretoken']").val() },
        },
        success: function (data) {
            console.log("success: "+data);
        },
        error: function (data) {
            console.log(data);
        }
    });
});

Извините, я уже нашел ответ здесь. Вы должны использовать cache : false и тогда все работает!

formData.append("profile_pic", file);
//...
formData.append("csrfmiddlewaretoken", $(this).find("input[name='csrfmiddlewaretoken']").val());
        
$.ajax({
    url: action,
    type: "POST",
    data: formData,
    cache : false,
    processData : false, 
    contentType : false, 
    success: function (data) {
        console.log("success"+data);
    },
    error: function (data) {
        console.log(data);
    }
});
Вернуться на верх