如何在Python中插入HTML标签?

0 投票
3 回答
12307 浏览
提问于 2025-04-18 03:37

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

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

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,不知道该怎么解决。比如,有人可能在使用某个特定的功能时,发现它并没有按照预期的方式工作。

这时候,查看相关的讨论或者问答网站,比如StackOverflow,就能帮助我们找到答案。很多时候,其他人也遇到过类似的问题,他们会分享自己的解决方案或者经验,这样我们就可以借鉴他们的方法。

总之,遇到问题时,不要着急,可以先去查找一下有没有人遇到过同样的情况,看看他们是怎么解决的,这样能节省很多时间和精力。

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

我几乎不明白你的代码是从哪里来的,也不知道你是否能修改它。

不过如果你能修改的话,为什么不直接在 link 函数里把链接包起来呢?

像这样:

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

也许你应该说得更清楚一些。

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()))

撰写回答