我目前正在做一个存储文件的网络应用。我有这样的班级大厅:
class Lobby(models.Model):
(...)
id = models.UUIDField(primary_key=True, default=uuid.uuid4, help_text="Unique ID for this particular lobby across whole database")
pdf = models.FileField(upload_to='./documents/',blank=True, null=True)
(...)
def file_link(self):
if self.pdf:
return "<a href='%s' download>Download</a>" % (self.pdf.url)
else:
return "No attachment"
file_link.allow_tags = True
file_link.short_description = 'file_link'
(...)
当我设置大厅时,我可以轻松上传我的PDF文件,并将其转到正确的位置(在我的应用程序的根目录中,名为&#39;文件&#39;)。
但问题出现了,当我尝试通过调用链接来下载文件时:
<p><strong>File:</strong> {{ lobby.file_link|safe}}</p>
我没有收到文件,但找不到文件错误
Firefox doesn't find the file http://127.0.0.1:8000/catalog/lobby/73d5aede-96af-445e-bec9-8c4522d37ce7/documents/the document.pdf
就像file_link没有发送存储文件的地方一样,但是要将页面的名称转到特定大厅的页面,然后是URL。
我做错了什么?
感谢。
编辑:通过添加enctype =&#39; multipart / form-data&#39; HTML中表单的属性。