使用django将超链接插入文本

时间:2013-07-29 10:50:56

标签: python django hyperlink

我在python中有一个变量'text',它包含一个很长的字符串。我有一个词典,其关键是一个单词/一组词,值是一个网址。我需要使用django显示这个变量'text',创建文本中所有单词/单词组的超链接,这些单词也在dict中。该链接已作为值存储在dict中。

text =“taj mahal在印度”

my_dict = {'taj mahal':'url1','india':'url2'}

使用django显示此文本,其中'taj mahal'和'india'分别是指向url1和url2的超链接。 我试图使用urlize,但它没有解决问题。

1 个答案:

答案 0 :(得分:2)

您可以在replace()变量上使用text

>>> text = "taj mahal is in india"
>>> my_dict = { 'taj mahal':'url1', 'india':'url2' }
>>> for key, value in my_dict.iteritems():
...     text = text.replace(key, value)
... 
>>> text
'url1 is in url2'

或:

>>> text = "taj mahal is in india"
>>> for key, value in my_dict.iteritems():
...     text = text.replace(key, '<a href="%s">key</a>' % value)
... 
>>> text
'<a href="url1">key</a> is in <a href="url2">key</a>'

如果您希望将此text变量传递给模板,请在其上应用safe过滤器:

{{text|safe}}

希望有所帮助。