2012-02-11 77 views
1

我目前正在將Javascript寫入mako文件,並且在一行中,我必須檢查兩個字符串是否相等。我檢查的字符串中有「<%text」,所以我曾經得到一個錯誤,說沒有標籤名爲text。我通過增加第二個%來獲得「< %%文本」而逃脫了這一點。但是現在,我收到以下錯誤。Mako錯誤:「expected%>」,轉義%

SyntaxException: Expected: %> in file file.mako 

什麼問題?

+1

你可以把剛剛足夠的內容來創建問題的模板的一個簡化版本? – BenTrofatter 2012-04-13 18:21:08

回答

0

「<%」和「%>」是Mako中的保留符號。如果它們出現在你的模板中,Mako會假定你的意思是逃離一個Python代碼塊。這裏是我的意思的例子:

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

看看http://docs.makotemplates.org/en/latest/syntax.html#python-blocks更多細節

藉口報價,「<%」和「%>」也保留符號的堆棧溢出所見即所得編輯。

如果您正在比較的Javascript變量包含保留的符號,您將不得不尋找另一種比較它們的方法。也許你可以使用百分號unicode的實體:

例如:

if ('<%' == '<\u0025') { 
    alert('success!'); 
} 
相關問題