这里有一个奇怪的问题。我正在构建一个基础应用程序,允许用户上传视频并播放它们。很简单。当用户上传文件时,将其链接存储在mysql中,并将文件本身存储在web_app/media/videos/中的文件系统中。
在settings.py中:
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'web_app/media')
MEDIA_URL = '/media/'
我相关的目录结构:
project/web_app/static/
project/web_app/media/
上传工作正常,然后数据库条目和视频文件都按预期落地。问题在于我无法通过视频链接访问文件。现在,在我的视图模板中,我有以下内容:
{% block body %}
<div><video src="{{ MEDIA_URL }}{{ path_to_video }}" width=640 height=360 controls></video></div>
<div><video src="/static/videos/2015/05/18/vid1.mp4" width=640 height=360 controls></video></div>
{% endblock body %}
显然我正在使用第一个div,第二个div用于调试-你很快就会明白为什么。这个模板会生成以下HTML:
<div><video src="/media/videos/2015/05/18/vid1.mp4" width=640 height=360 controls></video></div>
<div><video src="/static/videos/2015/05/18/vid1.mp4" width=640 height=360 controls></video></div>
正如预期的那样。事实是:第一个链接无法打开,显示找不到文件。但是,如果我手动将“videos/2015/etc...”复制到/static文件夹中,第二个链接就可以按照预期工作了。这是怎么回事?媒体文件夹存在权限问题吗?
我不知道这是否有所不同,但这是在Windows上进行的…谢谢。