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

Nik*_*dal 6 google-app-engine mustache client-side-templating

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

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

{{#item}} {{name}} {{/ item}}

我的HTML文件如下所示:

<!DOCTYPE html>
<html>
  <head>
    <script type="text/mustache-template" id="myTemplate">
      {{#item}}{{name}}{{/item}}
    </script>
  </head>
</html>
Run Code Online (Sandbox Code Playgroud)

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

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

Dan*_*man 8

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

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