1

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

任何人都可以为此提供正确的方向。

提前致谢。

4

1 回答 1

4

你好这个问题有点棘手。

Django 基本上是一个使用 python 创建 web 应用程序的框架,你是说你已经有一个 Django 网站,你没有解释你有什么,也没有指定你的视频格式(例如:二进制?或文件夹路径?或urls?)所以有很多选择。

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

  • 在根 django 项目文件夹中创建名为“static”的文件夹名称
  • 在根 django 项目文件夹中创建名为“templates”的文件夹名称
  • 在“静态”中添加以下结构
    • 图片
    • js
    • css
  • 在“模板”中添加您的 html 文件
    • 索引.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

如果您的数据库中有二进制格式的视频

从数据库中读取它们并在临时文件夹中创建一个临时文件,以便您可以将 video html 标签添加到您的 django 模板

相反,如果您有此视频的网址或文件路径

从数据库中读取它们,以便您可以将 video 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 应用程序/控制器/服务的操作?

  • 在控制器中创建一个函数“selectEntity()”,然后从 HTML 中调用它,如下所示:

     <button type="button" class="btn btn-theme" ng-click="selectEntity()">Off</button>
    

如何在 Python 代码中使用静态文件?例如:在“静态”文件夹中执行 python 脚本

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

希望这可以帮助!

于 2016-09-15T09:06:10.563 回答