从MEDIA_ROOT下载不起作用

时间:2016-06-03 15:31:03

标签: python django django-file-upload

我正在尝试让一个User上传一个文件(用某种语言),另一个User下载它以便他们翻译。

我已经设置了媒体根和媒体网址:

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

当有人通过form上传文件时,该文件会显示在project/media/file中。但问题是,如果我尝试点击该文件或输入url /project/media/file.extension,则会提高

Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8000/media/File_-_Psychos_lZB1D1N.mp3
Using the URLconf defined in SolutionsForLanguages_2.urls, Django tried these URL patterns, in this order:

http://127.0.0.1:8000/media/File_-_Psychos_lZB1D1N.mp3

如何使其发挥作用?

1 个答案:

答案 0 :(得分:4)

我猜你在开发服务器上?将其添加到urls.py配置文件中,以告知Django的开发服务器也提供static/media/文件。

if settings.DEBUG:
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns
    from django.conf.urls.static import static

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