我有一个突然停止工作的视图。显然有些东西必须改变,但我不知道是什么。
当视图被调用时,视图应该返回一个 pdf 文件(即 content-disposition 是附件),浏览器尝试下载一个 pdf,但无论如何它总是 0 字节。
我在这里和那里记录以调试问题所在。我可以看到,当从 generate_pdf 返回响应对象时,它具有正确的内容。不知何故,在那里和客户端浏览器之间,它只是消失了。
有人有什么想法吗?
django 1.3、nginx、uwsgi
视图.py
def get(self, request, *args, **kwargs):
...
return generate_pdf(request, 'ps_pdfbase.html', context_dict, returned_file_name)
generate_pdf 函数
...
myfile = StringIO()
result_obj = pisa.CreatePDF(file_data, myfile)
logging.debug('pdf result_obj:\n\tsize:%s\n\terr:%s\n\tlog:%s\n\ttext:%s' % (myfile.tell(),
result_obj.err,
result_obj.log,
result_obj.text, ))
myfile.seek(0)
response = HttpResponse(myfile, mimetype='application/pdf')
logging.debug('response content: %s' % response.content)
response['Content-Disposition'] = 'attachment; filename=' + slugify(returned_file_name) + '.pdf'
return response