gpt4 book ai didi

python - 使用 Django 播放上传的视频

转载 作者:行者123 更新时间:2023-11-28 17:11:14 24 4
gpt4 key购买 nike

我无法在我的 Django 网站上播放视频。我认为我的 views.py 渲染函数有问题

videoplay.html:

{% block contents %}
<video name='demo' controls autoplay width='50%' height='40%'>
<source src="{{STATIC_URL}}sample1.mp4" type="video/mp4"></source>
</video>
{% endblock %}

将其包含在 settings.py 中:

 STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')`

Views.py 是:

 from django.shortcuts import render, redirect
from django.conf import settings
from django.core.files.storage import FileSystemStorage
from django.views.generic.base import TemplateView
from uploads.core.models import Document
from uploads.core.forms import DocumentForm
def index(request):
return render(request, "core/videoplay.html")`

I am getting a play button and streaming line on my website

最佳答案

STATIC_URL 是您的静态文件所在的位置,例如 CSS、模板图像、Javascript 等。有一个特殊的 Template Tag for Static Files在 Django 中称为 {% static %}

要生成静态文件所在位置的完整 url,您可以像这样使用模板标签:

{% load static %}
<video src="{% static "/videos/demo.mp4" %}">

MEDIA_URL 是您的媒体文件所在的位置。媒体文件是在应用程序生命周期内发生变化的上传文件。它们不一定在部署时就在那里,但可以由网站上的用户或管理员随时上传。

媒体文件在模型上设置为这样的字段:

class DemoVideo(models.Model):
video = models.FileField(upload_to="videos")

它们的访问方式如下 demovideo.video.url 因此在您的模板中它将是 src="{{demovideo.video.url}}

检查您的文件是媒体文件还是静态文件,并按照上述正确方式在模板中访问它。

关于python - 使用 Django 播放上传的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47319398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com