首页 > 解决方案 > 视图 HTML 中 {{ abc }} 的 web2y 转义

问题描述

如何将以下字符串 {{ cake }} 添加到视图中,但仅将其显示为 {{ cake }}。Web2py 尝试用不存在的变量替换。我只想在没有 web2py 搜索变量的情况下在视图 HTML 中使用双开 {{ 并关闭 }}。

是否需要转义字符?

谢谢

标签: viewweb2py

解决方案


一种选择是在一对模板定界符内用引号将开始定界符括起来:

{{='{{'}} cake }}

请注意,没有必要包装结束分隔符,因为模板引擎只会在模板前面有不匹配的开始分隔符时才处理它。

另一种选择是定义一个辅助函数(最好在模型文件中,以便在所有视图中都可用),例如:

def wrap(content):
    return '{{%s}}' % content

在模板中:

{{=wrap('cake')}}

最后,如果问题是您使用的 Javascript 框架(例如,Vue.js)使用与 web2py 相同的模板分隔符,您可以通过response.delimiters. 例如:

response.delimiters = ('%{', '}%')

另外,请注意,大多数 Javascript 框架也允许您指定自定义分隔符,因此您可能会发现在此处进行更改比在 web2py 中更容易。


推荐阅读