我正在使用Flask和Ember-Table制作应用。 Jinja2在服务器端运行,Handlebars将在客户端运行。我使用来自Jinja2的{% extends "layout.html" %}
和{% block content %}
以及同一模板(home.html)中的Ember-Table的简单example。当我使用上面的代码运行时:
@app.route('/')
def home():
return render_template('home.html')
我有这个错误:
jinja2.exceptions.TemplateSyntaxError
TemplateSyntaxError: expected token 'end of print statement', got 'hasFooter'
据我所知,Jinja2想解读Ember,这就是错误。谁能解决这个问题?
答案 0 :(得分:1)
使用{% raw %}
让Jinja忽略您模板的一部分:
{% raw %}
<body>
<script type="text/x-handlebars">
<h2> Welcome to Ember Table!</h2>
<p>Version 0.2.0</p>
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="index">
<div class="table-container">
{{table-component
hasFooter=false
columnsBinding="columns"
contentBinding="content"
}}
</div>
</script>
</body>
{% endraw %}