获取TemplateSyntaxError:意外的char'''在python Google App Engine提供的html文件中包含一个Mustache模板

时间:2014-01-05 11:14:27

标签: google-app-engine mustache client-side-templating

当我在Python Google App Engine服务器提供的HTML文件中包含一个简单的Mustache模板时,我收到TemplateSyntaxError: unexpected char u'#'错误。

我想要包含的小胡子模板是:

  

{{#项}}   {{名称}}   {{/项目}}

我的HTML文件如下所示:

<!DOCTYPE html>
<html>
  <head>
    <script type="text/mustache-template" id="myTemplate">
      {{#item}}{{name}}{{/item}}
    </script>
  </head>
</html>

因为模板是用一个带有type = text / mustache-template的脚本标签包裹的,所以服务器不应该忽略它吗?

我无法理解,为什么我得到了TemplateSyntaxError,我应该怎么做才能摆脱它。 有人有什么想法吗? 谢谢!

1 个答案:

答案 0 :(得分:8)

你没有这么说,但我想你在服务器端使用Django或Jinja2模板。在这种情况下,他们不会忽略胡须脚本标签内的内容:首先,他们对胡子一无所知,其次,将服务器端模板标签放入Javascript中是相当普遍的做法,例如提供初始值用于功能。

在大于1.5的Django版本中,您可以使用{% verbatim %}...{% endverbatim %}标记包装胡须标记,以防止服务器端评估。 Jinja2的等价物是{% raw %}...{% endraw %}