首页 > 解决方案 > 在我的 Django 项目中从 Digital Ocean Spaces 加载静态文件时遇到问题

问题描述

在我的项目开发过程中,我可以通过我的模板显示视频文件,如下所示:

<video width="200" controls>
    <source src='{{ MEDIA_URL }}{{ post.video }}' type='video/mp4'>
    Your browser does not support the video tag.
</video>

MEDIA_URL被定向到mediasettings.py中的一个文件夹:

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

现在我正在生产和使用 Digital Ocean Spaces,我的静态和媒体文件都由STATIC_URL. 当用户创建包含视频文件的帖子时,我可以在 Spaces 中看到它上传,我也可以通过 Django 管理员查看它。但我找不到让它在网站上播放所需的代码。我只看到一个灰色框告诉我该文件不受支持。我尝试过更改{{ MEDIA_URL}}{{ STATIC_URL }},我也尝试过<source src='{% static "post.video" %}' type='video/mp4',但这些都没有奏效。我在网上的任何地方都找不到答案。希望有人可以提供帮助。

标签: djangovideostaticdigital-oceandigital-ocean-spaces

解决方案


解决方案是将模板更改为:

<video width="200" controls>
    <source src='{{ STATIC_URL }}{{ post.video.url }}' type='video/mp4'>
    Your browser does not support the video tag.
</video>

推荐阅读