在我的Django网站中嵌入视频

时间:2016-09-14 11:40:39

标签: youtube-api django-1.10

我不知道在Django中嵌入视频。 我将我的视频存储在数据库中。 我需要在我的Django网站上嵌入,显示和删除我的视频。

任何人都可以为此做出正确的指示。

提前致谢。

1 个答案:

答案 0 :(得分:4)

嗨,这个问题有点棘手。

Django基本上是一个使用python创建Web应用程序的框架,你说你已经有了一个Django网站而你没有解释你的内容,也没有说明你的视频格式(例如:binary?或文件夹)路径?或网址?)所以有很多选择。

这是一个提示,如何使用angularJS创建一个SPA(单页架构)HTML / CSS3 / JS来调用你的API /网站(django)

  • 创建名为" static"的文件夹名称在你的根django项目文件夹
  • 创建名为" templates"的文件夹名称。在你的根django项目文件夹
  • 内部"静态"添加以下结构
    • 图像
    • JS​​
    • CSS
  • 内部"模板"添加你的html文件
    • 的index.html

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

希望这有帮助!