我目前正在mako文件中编写Javascript,在一行中,我必须检查两个字符串是否相等。我正在检查的字符串中包含“<%text”,所以我曾经得到一个错误,说没有名为text的标签。我通过添加第二个%来获取“<%% text”。但现在,我收到以下错误。
SyntaxException: Expected: %> in file file.mako
问题是什么?
“<%”和“%>”是Mako中的保留符号。如果它们出现在你的模板中,那么Mako会认为你想逃避一个python代码块。这是我的意思的一个例子:
"""
<%
some_var = 'foo'
other_var = '{0} bar'.format(some_var)
%>
"""
请查看http://docs.makotemplates.org/en/latest/syntax.html#python-blocks了解更多详情
请原谅,“<%”和“%>”也是Stack Overflow WYSIWYG编辑器中的保留符号。
如果您要比较的Javascript变量包含保留符号,则必须找到另一种比较它们的方法。也许你可以使用unicode实体作为百分号:
例如:
if ('<%' == '<\u0025') {
alert('success!');
}
我只是有一个破碎的字符串变量打破了逻辑,并在无关联的<% ... %>
失败示例:
<%
variable = 'this won't work'
# ^^^
%>