Я хочу сделать ответ, который будет перенаправлен на определенный URL-адрес и загрузить файл. Чтобы загрузить файл, я использую:
content = "Example content"
filename = "example-file-name".
response = HttpResponse(content=content,
content_type='text/plain')
response['Content-Disposition'] = 'attachment; filename={0}'.format(filename)
return response
Чтобы перенаправить URL-адрес:
response = HttpResponseRedirect(redirect_to=example_url)
Есть ли способ сделать обе вещи в одном ответе?
Going AJAX может быть решением, загрузить файл через AJAX, а затем инициировать перенаправление после завершения загрузки.
Загрузка AJAX может быть облегчена с использованием JQuery или связанных с ним плагинов, сообщение для справки.
Перенаправление может быть достигнуто с успехом на стороне клиента, как показано ниже.
$.fileDownload('some/file.pdf')
.done(function () { window.location.href = 'REDIRECT_URL'; })
.fail(function () { alert('File download failed!'); });