我目前正在mako文件中编写Javascript,在一行中,我必须检查两个字符串是否相等。我检查的字符串有"<%text"在其中,所以我曾经得到一个错误,说没有名为text的标签。我通过添加第二个%来获取"< %% text"。但现在,我收到了以下错误。
SyntaxException: Expected: %> in file file.mako
有什么问题?
答案 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'
# ^^^
%>