Я пытаюсь загрузить файл, выбранный во входном файле. Однако я не могу получить этот файл в моем представлении django, request.POST
и request.FILES
как-то пусты, я думаю, что проблема в коде jquery.
Этот входной файл имеет " file_ windows "id. Форма имеет идентификатор "form_upload". вот мой jquery код:
$("#file_windows").change(function(){
var myform = document.getElementById("form_upload");
var fd = new FormData();
var file = document.getElementById('file_windows').files[0];
fd.append('file_win', file);
token_value=$("input[name=csrfmiddlewaretoken]").val();
$.ajaxSetup
({
beforeSend: function(xhr, settings)
{
xhr.setRequestHeader("X-CSRFToken", token_value);
}
});
$.ajax
({
url:"./ajax",
method: 'POST',
type:"POST",
cache: false,
enctype: 'multipart/form-data',
processData: false,
contentType: false,
cache: false,
data:
{
"file_win":fd
},
success: function(result)
{
alert(result);
}
});
});
это моя Django функция просмотра:
def ajax_file_request(request):
if request.is_ajax():
#response=request.FILES["file_win"] multivaluedictkeyerror
print(request.FILES)
print(request.POST)
return HttpResponse("ajax request")
else:
respose = "Not Ajax"
return HttpResponse(respose)
, которая отвечает "ajax request"
, как и ожидалось при запуске моего ajax кода, но вывод на печать пуст: Как я могу решить эту проблему?