如何在Python中插入HTML标记?

时间:2014-04-21 17:08:16

标签: python html django

我有一个这样的类,它会生成超链接:

class getLink(obj):
    def __init__(self, text, url):
        self.text = self.Argument(text)
        self.url = self.Argument(url)
    def render(self, context):
        return "%s %s" % (html.link(self.text(context), self.url(context)))


def link(text, url):
    return mark_safe('<a href="%s">%s</a>' % (url, title))

然后我得到一个链接:

getLink(text=_('Test'),fn.getUrl())

HTML结果:

<a href="/python/tests/">Test</a>

我想将链接包含在<div>内,另一个包含在<li>标记内。我尝试直接在getLink()添加标记,但不起作用 getLink("<div>" + text=_('Test'),fn.getUrl() + "</div>")。我是Python的新手,很抱歉,如果我错了。

谢谢你的帮助!

3 个答案:

答案 0 :(得分:2)

我几乎不知道您的代码来自何处,以及您是否能够修改它。

但如果你是,为什么不改变 link 功能并将链接直接包含在那里呢?

像这样:

def link(text, url):
    return mark_safe('<div><a href="%s">%s</a></div>' % (url, title))

也许你应该更明确。

答案 1 :(得分:1)

只需将函数调用的结果包装在您想要的标签中吗?

wrapped_in_div = "<div>" + getLink(text=_('Test'),fn.getUrl()) + "</div>"
wrapped_in_li = "<li>" + getLink(text=_('Test'),fn.getUrl()) + "</li>"

或者您可以使用format

wrapped_in_div = "<{0}>{1}</{0}>".format("div", getLink(text=_('Test'),fn.getUrl()))
wrapped_in_li = "<{0}>{1}</{0}>".format("li", getLink(text=_('Test'),fn.getUrl()))

答案 2 :(得分:0)

@app.route('/')
def googlelink():
    return ('<div><a href="%s">%s</a></div>' % ("https://www.google.com","Google"))