突然機能しなくなったビューがあります。明らかに何かが変わったに違いありませんが、何が変わったのかわかりません。
ビューが呼び出されると、ビューは pdf ファイルを返すことになっています (つまり、content-disposition は添付ファイルです)。ブラウザは pdf をダウンロードしようとしますが、常に 0 バイトです。
問題が何であるかをデバッグするために、あちこちにログを記録しました。応答オブジェクトが generate_pdf から返されたときに、正しい内容が含まれていることがわかります。どういうわけかそことクライアント ブラウザの間で、単に消えてしまいます。
誰にもアイデアはありますか?
ジャンゴ 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