我不知道在Django中嵌入视频。 我将我的视频存储在数据库中。 我需要在我的Django网站上嵌入,显示和删除我的视频。
任何人都可以为此做出正确的指示。
提前致谢。
答案 0 :(得分:4)
嗨,这个问题有点棘手。
Django基本上是一个使用python创建Web应用程序的框架,你说你已经有了一个Django网站而你没有解释你的内容,也没有说明你的视频格式(例如:binary?或文件夹)路径?或网址?)所以有很多选择。
这是一个提示,如何使用angularJS创建一个SPA(单页架构)HTML / CSS3 / JS来调用你的API /网站(django)
1)转到settings.py并添加以下路径
为您的HTML(模板)和CSS / JS / IMG / VIDEOS(静态)文件夹创建3个静态配置变量
STATICFILES_DIRS=['/your_home_path/your_project/static/']
STATIC_URL = '/static/'
TEMPLATES_PATH = '/your_home_path/your_project/templates/'
修改 TEMPLATES 静态变量以使用 TEMPLATES_PATH
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [TEMPLATES_PATH],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
2)转到你的urls.py文件并注册你的模板HTML文件,这样它就可以用作网站布局,也可以创建一个新的路径来测试一个新的控制器/动作
url(r'^$', TemplateView.as_view(template_name="index.html")),
url(r'testingwebsite/v1/api/test/action$', action_controller_name),
3)转到views.py文件并添加控制器操作代码,以便您可以执行任何操作(获取/更新/删除视频)
def action_controller_name(request):
#Your_code_here: execute py scripts or call API or connect to DB
#return json
return HttpResponse(out, content_type="application/json")
4)在views.py
中包含必需的库from django.http import HttpResponse
#static files import
from django.conf import settings
from django.conf.urls.static import static
如果您的数据库中有二进制格式的视频
从数据库中读取它们并在临时文件夹中创建临时文件,以便将视频html标记添加到django模板
如果您有此视频的网址或文件路径
从数据库中读取它们,以便将视频html标记添加到django模板
如何在HTML中包含静态文件夹的内容文件(videos / images / css / js / etc)?
{% static "images/logo.png" %}
{% static "videos/myvideo.mp4" %}
视频标记示例
<video width="320" height="240" controls>
<source src="{% static "videos/myvideo.mp4" %}" type="video/mp4">
<source src="{% static "videos/myvideo.ogg" %}" type="video/ogg">
Your browser does not support the video tag.
</video>
Img标签示例
<img alt="majordomo_logo" src="{% static "images/logo.png" %}" class="img-circle" width="60">
**你可以为视频*
做同样的事情如何在HTML上触发angularJS app / controller / service的操作?
创建一个函数&#34; selectEntity()&#34;在你的控制器内,然后从你的HTML中调用它:
<button type="button" class="btn btn-theme" ng-click="selectEntity()">Off</button>
如何在python代码上使用静态文件? 例如:在内部执行python脚本&#34;静态&#34;夹
command="bash " + settings.STATICFILES_DIRS[0] + "pyscripts/clean-memory-mock.sh"
p = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
print out
希望这有帮助!