从 python 渲染 HTML 在 web2py 中的字符串,生成@usename链接 python

Rendering HTML from a python String in web2py, generate @usename links python

本文关键字:python 字符串 生成 @usename 链接 渲染 HTML web2py      更新时间:2023-09-26

从 python 呈现 HTML 字符串 in web2py

我正在尝试在web2py中生成的html文件中呈现锚链接

<a href="http://app/default/profile/">@username</a>

并且链接正确生成; 但是当我在我的视图中调用它时{{=link}}页面不会将其呈现为 HTML。 我试过使用

mystring.decode('utf-8')

以及各种其他转换。 将其传递给javascript并返回页面可以很好地显示链接。 python字符串有什么具体的东西不能很好地与html沟通吗?

在控制器中,字符串由函数调用生成:

#code barrowed from luca de alfaro's ucsc cmps183 class examples
def regex_text(s):
    def makelink(match):
        # The title is the matched praase @username
        title = match.group(0).strip()
        # The page is the striped title 'username' lowercase
        page = match.group(1).lower()
        return '%s' % (A(title, _href=URL('default', 'profile', args=[page])))
    return re.sub(REGEX,makelink, s) 
def linkify(s):
    return regex_text(s)
def represent_links(s, v):
    return linkify(s)

将@username替换为指向其配置文件的链接,args(0) = 用户名,并通过控制器调用发送到视图

def profile():
    link = linkify(string)
    return dict(link=link)

为了安全起见,web2py模板将自动转义通过{{=...}}插入的任何文本。要禁用转义,您可以在XML()帮助程序中换行文本:

{{=XML(link)}}