我正在使用烧瓶来渲染索引页
app = Flask(__name__)
@app.route("/")
def main():
return render_template('index.html')
我正在将结果发送到烧瓶 REST API 的 ajax 调用中。我能够使用 Jquery 构建表,但是如果我使用 angularjs ng-repeat 这样的表,如下所示的表
<table>
<tr data-ng-repeat="r in regResults">
<td>{{r.TCID}}>
</tr>
</table>
我收到以下错误
[2018-01-30 16:50:32,833] ERROR in app: Exception on / [GET]
UndefinedError: 'r' is undefined
这是因为Angular
和Jinja2
使用{{}}
作为模板标签来打印变量。Jinja2 在浏览器渲染之前处理模板(并最终由 Angular 拾取(。最简单的解决方案是将块括在{% raw %}
中,如下所示:
{% raw %}
<table>
<tr data-ng-repeat="r in regResults">
<td>{{r.TCID}}>
</tr>
</table>
{% endraw %}
这告诉jinja2
不要干扰模板的该部分。
如果您发现自己有太多{% raw %}
标签,可能是时候将前端与后端分开并通过 API 进行通信了。