【发布时间】:2016-11-10 08:54:35
【问题描述】:
我创建了一个链接,当用户按下它时,它将从 Django 的媒体文件夹中下载一个 pdf 文件到用户的机器上。
我尝试了不同的方法,但对我来说都是错误的。它告诉我找不到文件,或者代码正在运行但文件已损坏。
我的 Html 链接:
<td> <a href="/download/">Download</a></td>
我的 url 模式链接到一个视图中:
url(r'^download/$', views.DownloadPdf),
我的 FileField 是这样的:
upload_pdf = models.FileField()
以下 sn-p 代码是下载损坏的 pdf 的视图:
def DownloadPdf(request):
filename = '/home/USER/PycharmProjects/MyProject/media/Invoice_Template.pdf'
response = HttpResponse(content_type='application/pdf')
fileformat = "pdf"
response['Content-Disposition'] = 'attachment;
filename=thisismypdf'.format(fileformat)
return response
那么,我必须做些什么才能让它工作呢?
【问题讨论】:
-
您应该使用您的网络服务器为您的
media文件夹提供服务。在开发中,开发服务器将执行此任务。详情请阅读docs.djangoproject.com/en/1.10/howto/static-files。