2017-06-14 50 views
-1

我想知道如何在我的模板中显示pdf。我正在使用python库请求以获取来自外部API的响应。在获取请求中,API向我发送了pdf,但我不知道如何处理它以在模板中显示它。在Django中处理来自API的pdf响应

回答

0

的PDF可以从视图中使用HttpResponse对象通过如下面的代码段设置内容类型返回到模板:

def pdf_response(request): 
    html_template="Your template path" 

    #sending the PDF back as response 
    response=HttpResponse(pdf_file,content_type='application/pdf') 
    response['Content-Disposition']='filename="test.pdf"' 
    return response 

比在urls.py文件

定义相应URL

url(r'^pdf/$',views.pdf_response, name='pdf'),

比你的模板定义是这样的:

PDF Details</h1><a href="{% url 'pdf' %}" class="btn btn-primary">Download</a>

+0

问题是,PDF查看器显示我警告文档可能无法正确显示。我的问题是,如果我没有将pdf作为文件,但是对api的请求的回复将我返回给我的那个pdf ......我该怎么做? –

+0

就在构建响应之前,请抓取PDF文件并将其保存到媒体文件夹中,然后将其作为响应发回。 – AR7