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

问题描述 投票:1回答:2

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

SyntaxException: Expected: %> in file file.mako

问题是什么?

mako
2个回答
0
投票

“<%”和“%>”是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!');
}

0
投票

我只是有一个破碎的字符串变量打破了逻辑,并在无关联的<% ... %>失败示例:

<%
 variable = 'this won't work'
 #                  ^^^
%>
© www.soinside.com 2019 - 2024. All rights reserved.