2

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

text = "泰姬陵在印度"

my_dict = { '泰姬陵':'url1', '印度':'url2' }

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

4

1 回答 1

3

您可以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}}

希望有帮助。

于 2013-07-29T11:03:55.400 回答