gpt4 book ai didi

Django:将 Youtube URL 转换为 HTML 嵌入代码

转载 作者:行者123 更新时间:2023-12-02 04:23:54 24 4
gpt4 key购买 nike

我在 templatetags/custom_filters.py 中定义了自定义 Django 过滤器 youtube_embed_url。它需要一个 Youtube url 并返回作为视频嵌入代码的字符串。 templatetags/custom_filters.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 页面中使用这个过滤器。以下是 link_page.html 的相关部分:

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

但是,当我在浏览器中查看链接页面时,我看到 HTML 代码为字符串:

enter image description here

知道如何将 youtube_embed_url 方法的结果解释为 HTML 代码,而不是字符串吗? 提前谢谢大家!

最佳答案

好啊safe filter .

{{ link.url|youtube_embed_url|safe }}

关于Django:将 Youtube URL 转换为 HTML 嵌入代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11837169/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com