Django - 将URL转换为链接、图片、对象
我正在创建一个简单的评论类应用,需要把普通的链接转换成可点击的链接,把图片链接转换成图片,把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。然后处理第二种情况以及你可能遇到的其他情况。