Django FileField将保存的文件检索到超链接上

时间:2015-04-24 15:06:17

标签: python django

我试图创建一个按钮来下载保存为模型一部分的文件。

以下代码:

模型

class ResourceFile(models.Model):
resourceID = models.ForeignKey(Resource)
fileTitle = models.CharField(max_length=128)
fileDescription = models.CharField(max_length=256)
fileObject = models.FileField(upload_to='resourceFile')
active = models.BooleanField(default=True)

Template - rfile是ResourceFile实例。

<a id="rfile-{{ rfile.id }}" href="{{ rfile.fileObject.url }}" download><button type="button">{{ rfile }}</button></a>

单击该按钮时,我收到“找不到文件”异常。 有什么想法吗?

2 个答案:

答案 0 :(得分:0)

试试这样。您可能缺少静态URL路径。

{{ STATIC_URL }}{{ rfile.fileObject }}

答案 1 :(得分:0)

我将此添加到我的urls.py文件中    如果settings.DEBUG:     urlpatterns.append(url(r&#39; ^ media /(?P。*)$&#39;,&#39; django.views.static.serve&#39;,{&#39; document_root&#39;: settings.MEDIA_ROOT}))

它有效。无需编辑模板。没有MEDIA_URL,rfile.fileObject.url就足够了。