Python 正在尝试使用django嵌入视频将youtube视频列表显示到django模板中
我正在尝试使用django embed video将youtube视频列表嵌入到我的django应用程序中,随着时间的推移,其中会添加更多视频。根据他们的文档,我做了以下工作: models.pyPython 正在尝试使用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,
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%}
赢得了一些声誉,以表明问题得到了回答,并对有帮助的人进行投票。