我在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
答案 0 :(得分:3)
在页面中嵌入PDF的能力超出了Django本身的范围,您已经通过成功生成PDF来完成Django所能做的所有事情,因此您应该看看如何在网页中嵌入PDF:
因此,请检查:
答案 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">