Django - 将URL转换为链接、图片、对象

5 投票
1 回答
803 浏览
提问于 2025-04-16 06:43

我正在创建一个简单的评论类应用,需要把普通的链接转换成可点击的链接,把图片链接转换成图片,把YouTube、Vimeo等链接转换成可以播放的对象。例如:

http://foo.bar to <a href="http://foo.bar">http://foo.bar</a>
http://foo.bar/image.gif to <img src="http://foo.bar/image.gif"/>
etc.

当然,我可以自己写这些代码,但我觉得这段代码太简单了,应该有人已经写过了(也许还包括把文本分成

段落的功能)。我搜索了一段时间,但没找到什么复杂的东西,只找到了一些小片段。有没有类似过滤器的东西可以用呢?

谢谢!

PS. 有个叫urlize的东西,但它只适用于第一种情况。

1 个回答

4

写一个自定义过滤器,来处理所有需要的情况。可以先看看urlize的源代码,这样可以帮助你入门。你还需要使用utils中的urlize函数

在你的过滤器中,首先检查第一种情况,并对其调用urlize。然后处理第二种情况以及你可能遇到的其他情况。

撰写回答