【发布时间】:2016-09-22 19:24:04
【问题描述】:
我正在做一个 Django 项目,并且我有一个名为 Projects 的模型,在这个模型中我有一个 FileField,其中文件被上传到 /media/files/YEAR/MONTH/DATE/。
settings.py:
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
models.py:
class Project(models.Model):
...
file_upload = models.FileField(upload_to='files/%Y/%m/%d', max_length=100, null=True, blank=True, default='')
模板:
...
{% if project.file_upload %}
<tr>
<td>File</td>
<td><a href="{{ project.file_upload.url }}">{{ project.file_upload.name }} (Size: {{ project.file_upload.size|filesizeformat }})</a></td>
</tr>
{% endif %}
...
现在文件的链接类似于:/media/files/2016/05/25/picture.png 或 /media/files/2016/05/25/报告.pdf
目前,每当我单击该链接时,我都找不到 404 页面。那当然是因为路径不在 urls.py 中,但是由于您通常会向 url 添加视图,所以我不知道您将如何处理单个文件,因为它会在我看来,观点是不必要的。
我如何在 urls(也可能在视图中)告诉 Django 如何获取该文件?我希望能够单击链接,然后在浏览器中查看图片/pdf 或直接下载文件。
【问题讨论】:
标签: django django-views django-urls django-uploads