【发布时间】:2011-08-03 20:43:33
【问题描述】:
我正在尝试在 mako 模板中使用一段代码,但无论我在代码块中放入什么,Mako 都坚持认为这是一个语法错误。
这是相关块的 sn-p:
<td class="col_sm_space"> </td>
<%
if session.dist == "metric":
delta_distance = "%.2fkm" % (trk["d_distance"] / 1000.0)
delta_fuel = "%.2fl" % (trk["d_fuel"])
delta_co2 = "%.2fg" % (trk["d_co2"])
delta_co2_rate = "%.2fg/l" % trk["d_co2_rate"])
trip_av_speed = "%dkm/h" % int(trk["trip_av_speed"])
trip_peak_speed = "%dkm/h" % int(trk["trip_peak_speed"])
%>
<td class="col_field" title="${delta_distance}">${trk["trip_distance"]}</td>
我在if session.dist == "metric": 行上遇到语法错误,尽管我可以用任何东西(例如foo = "bar")替换它,但它仍然给我错误。
真子回来了:
SyntaxException: (SyntaxError) invalid syntax (line 5) ('if session.dist == "metric":\\n delta_distance = ') in file '<snipped>' at line: 271 char: 9\n, referer: <snipped>
271 行是开头<%。显然,字符 9 将是下一行 if 的开头。
奇怪的是,我在其他页面上使用了完全相同的设置,而且这些设置都很好 - 只是不在这里。
我在这里遗漏了什么明显的东西?
【问题讨论】:
-
你有问题的行中有任何不可见的字符吗?还是与其他工作文件中的换行符不同?
-
不,同样的格式。 Unix 行尾,行尾没有多余的空格,也没有制表符(缩进为 4 个空格)。
标签: python syntax-error mako