在Django中访问媒体文件

问题描述 投票:0回答:1

我有这个根

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)

当我尝试

本地主机:8000 /数据/ fuzzy.xml

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

我该如何访问?

python django python-2.7 django-1.11
1个回答
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/'
© www.soinside.com 2019 - 2024. All rights reserved.