简而言之,如果你有一个PDF文件,并且想通过Django视图输出它,那么你要做的就是将文件内容转储到响应中并以适当的mimetype发送。
def pdf_view(request): with open('/path/to/my/file.pdf', 'r') as pdf: response = HttpResponse(pdf.read(), mimetype='application/pdf') response['Content-Disposition'] = 'inline;filename=some_file.pdf' return response pdf.closed
你可能可以直接返回响应而无需指定Content-Disposition,但这可以更好地表明你的意图,并且还可以指定文件名,以防用户决定保存它。
另外,请注意,上面的视图无法处理由于某种原因无法打开或读取文件的情况。既然完成了
with,它不会引发任何异常,但是你仍然必须返回某种响应。但是,你可以简单地提出一个
Http404或类似的东西。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)