当我在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,我应该怎么做才能摆脱它。 有人有什么想法吗? 谢谢!
答案 0 :(得分:8)
你没有这么说,但我想你在服务器端使用Django或Jinja2模板。在这种情况下,他们不会忽略胡须脚本标签内的内容:首先,他们对胡子一无所知,其次,将服务器端模板标签放入Javascript中是相当普遍的做法,例如提供初始值用于功能。
在大于1.5的Django版本中,您可以使用{% verbatim %}...{% endverbatim %}
标记包装胡须标记,以防止服务器端评估。 Jinja2的等价物是{% raw %}...{% endraw %}
。