我試圖在模型中存儲YouTube鏈接列表,然後將其作爲列表傳遞給使用YouTube嵌入代碼呈現的模板。一切似乎工作正常,變量正確傳遞,除非視頻不顯示。 YouTube的iframe代碼只是空白,而複製/粘貼的YouTube嵌入代碼顯示得很好。使用Django在模板中顯示YouTube視頻
在型號代碼:
from django.db import models
class Video(models.Model):
link = models.URLField()
def __str__(self):
return self.link
在查看代碼:
def index(request):
full_list = Video.objects.all()
return render_to_response('index.html', {'full_list': full_list})
在模板中的代碼:
<h1>YouTube list</h1>
{% if full_list %}
<ul>
{% for video in full_list %}
<li>
<!-- link passed to embed code, this shows up as blank -->
<iframe width="560" height="345" src="{{ video.link }}?rel=0" frameborder="0" allowfullscreen></iframe>
<!-- YouTube embed link copy/pasted as is -->
<iframe width="560" height="345" src="http://www.youtube.com/embed/vLmNvYTTWXM?rel=0" frameborder="0" allowfullscreen></iframe>
</li>
{% endfor %}
</ul>
{% else %}
<p>No videos available</p>
{% endif %}
屏幕瀏覽器的鏡頭:https://img.skitch.com/20110910-t78bm288mxh6nmyjmcbxyjr37n.png
我猜測模板首先被渲染,變量被添加第二,因此YouTube的服務器甚至沒有被調用。這是一個正確的假設,如果是的話,我該如何解決它?
現在我覺得啞巴了。最後找出了HTML代碼中的問題。 YouTube iFrame嵌入更改了URI,它與YouTube網址不同。舊的嵌入代碼做同樣的事情。我編寫了代碼來將YouTube視頻ID正則表達並將其嵌入到嵌入代碼中,並且工作正常。再次感謝您的幫助! –
@傑裏你可以請粘貼代碼你做了什麼我需要做同樣的事情,並面臨同樣的問題 –