当前位置: 首页 > 面试题库 >

如何在Django视图中显示PDF文件?

东门修能
2023-03-14
问题内容

是否可以在 Django视图中显示PDF文件,而不是使用户必须下载它才能看到它?

如果有可能,将如何做?

这是我到目前为止所拥有的

@login_required
def resume(request, applicant_id):

    #Get the applicant's resume
    resume = File.objects.get(applicant=applicant_id)
    fsock = open(resume.location, 'r')
    response = HttpResponse(fsock, mimetype='application/pdf')

    return response

问题答案:

简而言之,如果你有一个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,但这可以更好地表明你的意图,并且还可以指定文件名,以防用户决定保存它。

另外,请注意,上面的视图无法处理由于某种原因无法打开或读取html" target="_blank">文件的情况。既然完成了with,它不会引发任何异常,但是你仍然必须返回某种响应。但是,你可以简单地提出一个Http404或类似的东西。



 类似资料:
  • 我有一个由itext自动生成的PDF文件,我需要在HTML中显示该PDF文件。我的问题是:如何使用PDF.js在HTML中显示一个本地PDF文件?那个PDF文件应该按照某些标准生成吗?

  • 问题内容: 在我的servlet中,我使用下面的代码在浏览器中打开PDF文件,但是,它显示了一个下载对话框。 我做错了什么? 问题答案: 你可以尝试用

  • 在新版本2017.3中,他们增加了这个功能,但我找不到菜单来关闭它。

  • 我必须在我的Android应用程序中列出Firebase Firestore文档中的所有字段。如何落实? 例如在附上的截图中,我必须在我的App中显示文档“HiySLB7YW0DGE5B1MMPigreByJ03”中的所有字段。 文档截图

  • 我有一个Spring Boot CRUD应用程序正在运行,只要我使用常规的MySQL表。但是我需要显示来自多个表的数据,所以我创建了一个MySQL视图。但是现在出现以下错误: 创建在类路径资源[org/spring framework/boot/auto configure/ORM/JPA/hibernate JPA configuration . class]中定义的名为“entityManag