如何在Python中插入HTML标签?
我有一个这样的类,它可以生成超链接:
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()))