web2y 在视图中转义 {{ abc }} HTML
web2y escaping of {{ abc }} in view HTML
如何将以下字符串 {{ cake }} 添加到视图中,但仅将其显示为 {{ cake }}。 Web2py 尝试替换为不存在的变量。我只想在视图 HTML 中使用双开 {{ 和关闭 }} 而无需 web2py 搜索变量。
是否需要转义字符?
谢谢
一个选项是将开始定界符括在一对模板定界符内的引号中:
{{='{{'}} cake }}
请注意,不需要包装结束定界符,因为模板引擎只会在模板中前面存在不匹配的开始定界符时处理它。
另一种选择是定义辅助函数(最好在模型文件中,这样它在所有视图中都可用),例如:
def wrap(content):
return '{{%s}}' % content
并在模板中:
{{=wrap('cake')}}
最后,如果问题是您使用的 Javascript 框架(例如 Vue.js)使用与 web2py 相同的模板定界符,您可以动态地(例如,每个控制器操作)通过 response.delimiters
更改 web2py 分隔符。例如:
response.delimiters = ('%{', '}%')
另外请注意,大多数 Javascript 框架也允许您指定自定义分隔符,因此您可能会发现在那里进行更改比在 web2py 中进行更改更容易。
如何将以下字符串 {{ cake }} 添加到视图中,但仅将其显示为 {{ cake }}。 Web2py 尝试替换为不存在的变量。我只想在视图 HTML 中使用双开 {{ 和关闭 }} 而无需 web2py 搜索变量。
是否需要转义字符?
谢谢
一个选项是将开始定界符括在一对模板定界符内的引号中:
{{='{{'}} cake }}
请注意,不需要包装结束定界符,因为模板引擎只会在模板中前面存在不匹配的开始定界符时处理它。
另一种选择是定义辅助函数(最好在模型文件中,这样它在所有视图中都可用),例如:
def wrap(content):
return '{{%s}}' % content
并在模板中:
{{=wrap('cake')}}
最后,如果问题是您使用的 Javascript 框架(例如 Vue.js)使用与 web2py 相同的模板定界符,您可以动态地(例如,每个控制器操作)通过 response.delimiters
更改 web2py 分隔符。例如:
response.delimiters = ('%{', '}%')
另外请注意,大多数 Javascript 框架也允许您指定自定义分隔符,因此您可能会发现在那里进行更改比在 web2py 中进行更改更容易。