Javascript 如何使用ajax上传excel并返回pptx(python django)

Javascript 如何使用ajax上传excel并返回pptx(python django),javascript,python,django,ajax,powerpoint,Javascript,Python,Django,Ajax,Powerpoint,我正在尝试使用django、python pptx上传excel并返回ppt。我曾经成功地使用ajax上传excel,并使用python pptx制作ppt。但是我在如何返回ppt文件和如何下载ppt文件方面失败(我想使用ajax方法)。 有两个主要问题我无法解决 首先,我不能使用ajax创建表单,因为csrf总是阻止我。我知道formdata.append('csrfmiddlewaretoken','{csrf\u token}') 但我不能用它来做手术 if (disp &&

我正在尝试使用django、python pptx上传excel并返回ppt。我曾经成功地使用ajax上传excel,并使用python pptx制作ppt。但是我在如何返回ppt文件和如何下载ppt文件方面失败(我想使用ajax方法)。 有两个主要问题我无法解决

首先,我不能使用ajax创建表单,因为csrf总是阻止我。我知道
formdata.append('csrfmiddlewaretoken','{csrf\u token}')
但我不能用它来做手术

if (disp && disp.search('attachment') != -1) { 
                                var form = $('<form action="' + '/auto/' + '" method="post"></form>');
                                $('body').append(form);`enter code here
<script>
    function loadFile(file) {
        $("#filename").html(file.name);
        console.log(file.name)
    }
    $("#btn").bind("click", function() {

                var formdata = new FormData()
                var file = $("#ranran")[0].files[0]
                formdata.append('file', file)
                formdata.append('name', file['name'])
                formdata.append('csrfmiddlewaretoken', '{{csrf_token}}')
                console.log(formdata)


                $.ajax({
                        type: "post",
                        url: "/auto/",
                        contentType: false,
                        processData: false,
                        data: formdata,
                        success: function(response, status, request) {
                            var disp = request.getResponseHeader('Content-Disposition');
                            if (disp && disp.search('attachment') != -1) { 
                                var form = $('<form action="' + '/auto/' + '" method="post"></form>');
                                $('body').append(form);
                                form.submit();
                            }

                        }
                })
            })
</script>`
上面说 “Presentation”对象不可编辑


请帮助我,谢谢

在应用
FileResponse()
之前,可能需要将演示文稿保存为文件或
io.BytesIO
。类似于prs.save(“my prs.pptx”)的东西。如果不希望文件系统中充斥着下载的临时文件,请搜索保存到内存中的文件。在应用
FileResponse()
之前,可能需要将演示文稿另存为文件或
io.BytesIO
。类似于prs.save(“my prs.pptx”)的东西。如果您不希望文件系统被下载的临时文件弄得乱七八糟,请搜索保存到内存中的文件。
from pptx import Presentation
from django.http import FileResponse
prs = Presentation()
return FileResponse(prs)