Python 在Django中访问媒体文件
我有这个根Python 在Django中访问媒体文件,python,django,python-2.7,django-1.11,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_UR
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
它发送带有/data/xml\u files/FuzzyMirab1.xml
的404未找到页面
如何访问该文件夹?我建议您将数据文件夹移动到项目的根目录:
project
data
xml_files
x.xml
polls
并从媒体根目录的开头删除斜杠:
MEDIA_ROOT = 'data/xml_files/'
或者您可以使用polls/data/xml\u files/
,而不移动目录,但对我来说,这似乎是一个糟糕的体系结构
正如@Mikhail Burshteyn所建议的,您也可以使用绝对路径:
MEDIA_ROOT = '/path/to/project/polls/data/xml_files/'
尝试包括轮询文件夹?确保django.contrib.staticfiles
包含在您安装的应用程序中。是否使用django开发服务器(runserver
命令)?在这种情况下,请确保DEBUG
设置为True
。我尝试了MEDIA\u URL=/polls/data/xml\u files/但它不起作用。我确信django.contrib.staticfiles也包含在内。您的媒体根目录是一个绝对路径,而不是一个相对路径。试着改变一下