Django :конвертирует URL-адрес Youtube в HTML-код для встраивания

Я определил свой пользовательский фильтр Django youtube _встроить _URL-адрес в templatetags/custom _filter.py. Он принимает URL-адрес Youtube и возвращает строку, которая представляет собой код для встраивания видео. Код для templatetags/custom _filter.py приведен ниже:

from django import template
from django.conf import settings
register = template.Library()
import re

@register.filter(name='youtube_embed_url')
# converts youtube URL into embed HTML
# value is url
def youtube_embed_url(value):
    match = re.search(r'^(http|https)\:\/\/www\.youtube\.com\/watch\?v\=(\w*)(\&(.*))?$', value)
    if match:
        embed_url = 'http://www.youtube.com/embed/%s' %(match.group(2))
        res = "<iframe width=\"560\" height=\"315\" src=\"%s\" frameborder=\"0\" allowfullscreen></iframe>" %(embed_url)
        return res
    return ''

youtube_embed_url.is_safe = True

Затем я использую этот фильтр на странице link _page.html.Вот соответствующая часть ссылки _page.html:

<div>
{{ link.url|youtube_embed_url }}
</div>

Однако, когда я просматриваю страницу ссылки в браузере, я вижу HTML-код в виде строки:

enter image description here

Есть идеи, как сделать так, чтобы результат метода youtube _embed _url интерпретировался как HTML-код, а не как строка? Заранее спасибо, ребята!

6
задан Arman 6 August 2012 в 23:04
поделиться