我有一个这样的类,它会生成超链接:
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的新手,很抱歉,如果我错了。
谢谢你的帮助!
答案 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"))