Django提供下载文件

Cal*_*lum 13 python django file download

我正在尝试提供一些内容生成的txt文件,我遇到了一些问题.我使用NamedTemporaryFile创建了临时文件并编写了内容,只需将delete设置为false即可调试,但下载的文件不包含任何内容.

我的猜测是响应值没有指向正确的文件,hense没有被下载,继承我的代码:

    f = NamedTemporaryFile()
    f.write(p.body)

    response = HttpResponse(FileWrapper(f), mimetype='application/force-download')
    response['Content-Disposition'] = 'attachment; filename=test-%s.txt' % p.uuid
    response['X-Sendfile'] = f.name
Run Code Online (Sandbox Code Playgroud)

Ric*_*Ric 20

您是否考虑p.body过通过以下方式发送response:

response = HttpResponse(mimetype='text/plain')
response['Content-Disposition'] = 'attachment; filename="%s.txt"' % p.uuid
response.write(p.body)
Run Code Online (Sandbox Code Playgroud)