debug=False 时视频不在 Django 上播放

Video not playing on Django when debug=False

当我在 Django 上将 DEBUG 设置为 False 时视频无法播放,但在 DEBUG=True 时,一切正常。 任务很简单,应用程序接收 youtube shorts link,将其下载到 MEDIA_ROOT(在 settings.py 中声明为 BASE_DIR / 'media')。它 returns 在模板上渲染了模板 video.html
<video height="450" autoplay="autoplay" controls style=""> <br> <source src="{{ MEDIA_URL }}{{ file }}" type="{{ mime_type }}">
在 html 上:
<video height="450" autoplay="autoplay" controls style="">
<source src="/media/filename.mp4" type="video/mp4">

观看次数: {"MEDIA_URL": MEDIA_URL, "file": str(video.video).split('/')[-1],}

settings.py:
MEDIA_URL = '/media/'
MEDIA_ROOT = Path(__file__).resolve().parent.parent / 'media'

正如我所说,当调试模式打开时一切正常,但我关闭它时视频无法播放。我忘了什么吗?或者我有什么错误吗?如何解决这个问题?

P.S。我是 django 的新手,我搜索了很多资源,都试过了,但我无法解决这个问题

Django 不支持生产环境中的文件服务 (have a look here)。辅助函数“+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) ”仅在调试模式下有效。因此它无法从媒体读取文件。

如果您想在 debug=False 的生产环境中使用该文件,请尝试切换到另一个 storage backend 或从其他地方提供它。