Python 正在尝试使用django嵌入视频将youtube视频列表显示到django模板中

Python 正在尝试使用django嵌入视频将youtube视频列表显示到django模板中,python,django,video,youtube,embed,Python,Django,Video,Youtube,Embed,我正在尝试使用django embed video将youtube视频列表嵌入到我的django应用程序中,随着时间的推移,其中会添加更多视频。根据他们的文档,我做了以下工作: models.py from embed_video.fields import EmbedVideoField class Youtube(models.Model): video = EmbedVideoField() slug = models.SlugField(max_length=200,

我正在尝试使用django embed video将youtube视频列表嵌入到我的django应用程序中,随着时间的推移,其中会添加更多视频。根据他们的文档,我做了以下工作:

models.py

from embed_video.fields import EmbedVideoField

class Youtube(models.Model):
    video = EmbedVideoField()
    slug = models.SlugField(max_length=200, db_index=True, unique=True)

    def __str__(self):
        return self.video
管理员

from .models import Youtube
from embed_video.admin import AdminVideoMixin

class YoutubeAdmin(AdminVideoMixin, admin.ModelAdmin):
    list_display = ('video', 'slug')

admin.site.register(Youtube, YoutubeAdmin)
views.py

from .models import Youtube

def display_video(request):
    videos = Youtube.objects.all()
    context = {'videos': videos}
    return render (request, 'scienceblog/post/videos.html', context)
videos.html

{% extends "base.html" %}
{% load embed_video_tags %}
{% video item.video 'small' %}

{% block content %}

{% if videos %}

    {% for v in videos %}
    {{ v }}
    {% endfor %}

    {% else %}
    <p>No videos yet</p>

{% endif %}
{% endblock %}
{% load embed_video_tags %}
{% for v in videos %}
    {% video v.video as my %}
        <iframe width="{{ 480 }}" height="{{ 320 }}" src="{{ my.url }}" 
        frameborder="0" allowfullscreen></iframe>
    {% endvideo %}
{% endfor %}
{%extends“base.html”%}
{%load embed_video_tags%}
{%video item.video“小”%}
{%block content%}
{%if视频%}
{视频中v的百分比%}
{{v}
{%endfor%}
{%else%}
还没有视频

{%endif%} {%endblock%}

在管理网站上,一切都很完美。将添加youtube链接并显示视频。但是,我对HTML标记非常不确定。呈现videos.html时,浏览器仅将youtube链接显示为字符串。如何显示视频

您需要根据
models.py
获取
embeddevideofield()
,它是
video
。因此,循环应该是这样的:

{% extends "base.html" %}
{% load embed_video_tags %}
{% video item.video 'small' %}

{% block content %}

{% if videos %}

    {% for v in videos %}
    {{ v.video }}
    {% endfor %}

    {% else %}
    <p>No videos yet</p>

{% endif %}
{% endblock %}

谢谢你的快速回答,拉拉蒂鲁!这让我想到研究django嵌入式视频应用程序本身的代码。我把它摆弄了一下,现在它正是我想要的工作方式。有关守则如下:

videos.html

{% extends "base.html" %}
{% load embed_video_tags %}
{% video item.video 'small' %}

{% block content %}

{% if videos %}

    {% for v in videos %}
    {{ v }}
    {% endfor %}

    {% else %}
    <p>No videos yet</p>

{% endif %}
{% endblock %}
{% load embed_video_tags %}
{% for v in videos %}
    {% video v.video as my %}
        <iframe width="{{ 480 }}" height="{{ 320 }}" src="{{ my.url }}" 
        frameborder="0" allowfullscreen></iframe>
    {% endvideo %}
{% endfor %}
{%load embed\u video\u tags%}
{视频中v的百分比%}
{%video v.video作为我的%}
{%endvideo%}
{%endfor%}

赢得了一些声誉,以表明问题得到了回答,并对有帮助的人进行投票。