Django / Python:在模板中显示pdf

时间:2016-10-07 13:55:10

标签: python django pdf

我在python 2.7中使用django 1.8。

我想在模板中显示pdf。

最后要知道,感谢MKM's answer我将它整整呈现。

你知道怎么渲染吗?

这是我的代码:

def userManual(request):
    with open('C:/Users/admin/Desktop/userManual.pdf', 'rb') as pdf:
        response = HttpResponse(pdf.read(), content_type='application/pdf')
        response['Content-Disposition'] = 'inline;filename=some_file.pdf'
        return response
    pdf.closed

2 个答案:

答案 0 :(得分:3)

在页面中嵌入PDF的能力超出了Django本身的范围,您已经通过成功生成PDF来完成Django所能做的所有事情,因此您应该看看如何在网页中嵌入PDF:

因此,请检查:

Recommended way to embed PDF in HTML?

How can I embed a PDF viewer in a web page?

答案 1 :(得分:1)

views.py

from django.shortcuts import render
from django.http import FileResponse, Http404
def pdf(request):
    try:
        return FileResponse(open('<file name with path>', 'rb'), content_type='application/pdf')
    except FileNotFoundError:
        raise Http404('not found')
def main(request):
    return render(request,'template.html')

url.py

from django.urls import path
from django.conf.urls import url
from . import views
urlpatterns =[path('', views.main, name='main'),url(r'^pdf', views.pdf, name='pdf'),]

template.html

<embed src={% url 'pdf' %}'#toolbar=0&navpanes=0&scrollbar=0'style="width:718px; height:700px;" frameborder="0">