У меня есть аудиоблок со следующим кодом, который я хочу отправить в форму с javascript
function sendData(blob) {
let fd = new FormData;
fd.append('fname', 'test.wav');
fd.append("recording", blob);
let token = '{{csrf_token}}';
$.ajax({
url: 'landing/submit/',
type: 'POST',
headers: { 'X-CSRFToken': token },
data: fd,
cache: false,
processData: false, // essential
contentType: false, // essential, application/pdf doesn't work.
enctype: 'multipart/form-data',
});
}
Я пытаюсь отправить это в форму django, но я ' m выдает ошибку 403. Вот представление, на которое оно отправляется:
views.py
def post_new(request):
if request.method == 'POST':
form = PostAudio(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('landing-home')
else:
form = PostAudio()
return render(request, 'landing/submit.html', {'form': form})
Что мне не хватает? Большинство других людей, публикующих сообщения в Интернете, говорят, что это связано с тем, что они не используют токены CSRF, но я включил их в свои заголовки.