在Django中访问媒体文件

时间:2018-09-05 06:06:46

标签: python django python-2.7 django-1.11

我有这个根

project
   polls
       data
          xml_files
             x.xml

我已添加

MEDIA_URL = '/data/'
MEDIA_ROOT = '/data/xml_files/'

我已经添加

urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'', include('web.urls')),
]  + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

当我尝试

  

localhost:8000 / data / fuzzy.xml

它与404 page not found发送/data/xml_files/FuzzyMirab1.xml的情况不存在

我该如何访问?

1 个答案:

答案 0 :(得分:0)

我建议您将数据文件夹移动到项目的根目录:

project
   data
       xml_files
           x.xml
   polls

并从MEDIA_ROOT的开头删除斜杠:

MEDIA_ROOT = 'data/xml_files/'

或者您可以在不移动目录的情况下使用polls/data/xml_files/,但这对我来说似乎是一个糟糕的体系结构。

正如@Mikhail Burshteyn所建议的,您也可以使用绝对路径:

MEDIA_ROOT = '/path/to/project/polls/data/xml_files/'