Mako出错:“预期%>”,逃避%

时间:2012-02-11 02:36:10

标签: mako

我目前正在mako文件中编写Javascript,在一行中,我必须检查两个字符串是否相等。我检查的字符串有"<%text"在其中,所以我曾经得到一个错误,说没有名为text的标签。我通过添加第二个%来获取"< %% text"。但现在,我收到了以下错误。

SyntaxException: Expected: %> in file file.mako

有什么问题?

2 个答案:

答案 0 :(得分:0)

“<%”和“%>”是Mako的保留符号。如果它们出现在你的模板中,那么Mako会认为你想逃避一个python代码块。这是我的意思的一个例子:

"""
<%
  some_var = 'foo'
  other_var = '{0} bar'.format(some_var)
%>
"""

请查看http://docs.makotemplates.org/en/latest/syntax.html#python-blocks了解详情

请原谅报价,“&lt;%”和“%&gt;”也是Stack Overflow WYSIWYG编辑器中的保留符号。

如果您要比较的Javascript变量包含保留符号,则必须找到另一种比较它们的方法。也许你可以使用unicode实体作为百分号:

例如:

if ('<%' == '<\u0025') {
    alert('success!');
}

答案 1 :(得分:0)

我刚刚有一个损坏的字符串变量,它破坏了逻辑,并且在不相关的<% ... %>上失败了 示例:

<%
 variable = 'this won't work'
 #                  ^^^
%>