【问题标题】:Serving media files in Django在 Django 中提供媒体文件
【发布时间】:2016-05-31 17:27:34
【问题描述】:

我正在开发中运行 Django。在 settings.py 我设置了 MEDIA_URL

MEDIA_ROOT = os.path.join(BASE_DIR, 'fileuploader/uploaded_files')
MEDIA_URL = 'fileuploader/uploaded_files/'

然后在 ursl.py 我有,

if settings.DEBUG:
    urlpatterns += patterns('', url(r'^media/(?P<path>)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT,}),)

据我了解,这应该意味着任何 url 媒体/文件名都将提供文件,而不是仅仅请求它。

在模板中,通过模型我可以得到文件名和 url。但是我不能把它变成一个可链接的路径来下载文件。

<p>File URL link <a href="media{{ item.upload.name }}">media{{ item.upload}}</a></p>

顺便说一下 item.upload 和 item.upload.name 产生相同的字符串。 文件存储中的文件名是 ./TESTFILE.txt 是否需要去掉开头的“./”?

Commit 26 是项目https://github.com/shanegibney/djangoForum

谢谢

【问题讨论】:

标签: django file serve


【解决方案1】:

我添加了 MEDIA_URL 标记,这允许文件下载。

<p>URL <a href="/{{ MEDIA_URL }}{{ item.upload.name}}">media{{ item.upload}}</a></p>

也在 urls.py 中添加到最后,

urlpatterns = [
   ......
    ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

【讨论】:

    猜你喜欢
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-31
    相关资源
    最近更新 更多