AngularJS with Python flask



我正在使用烧瓶来渲染索引页

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

这是因为AngularJinja2使用{{}}作为模板标签来打印变量。Jinja2 在浏览器渲染之前处理模板(并最终由 Angular 拾取(。最简单的解决方案是将块括在{% raw %}中,如下所示:

{% raw %}
<table>
    <tr data-ng-repeat="r in regResults">
        <td>{{r.TCID}}>
    </tr>
</table>
{% endraw %}

这告诉jinja2不要干扰模板的该部分。

如果您发现自己有太多{% raw %}标签,可能是时候将前端与后端分开并通过 API 进行通信了。

最新更新