我正在尝试使用flask和angular.js。在渲染带有烧瓶的页面时,我尝试添加一些角度js和两个模板方法(标签)冲突。
我想要类似的东西:
<div>
{{ flaskReplacesThis }}
</div>
<div>
{%?! Ignore this, flask! %?}
{{ angularReplacesThis }}
{%?! endIgnore %?}
</div>
是吗:
我尝试使用谷歌搜索,没有看到任何我可以完全理解/使用的内容。
答案 0 :(得分:10)
您可以使用raw
块。其中的任何内容都不会被视为jinja2语法。
<div>
{{ flaskReplacesThis }}
</div>
<div>
{% raw %}
{{ angularReplacesThis }}
{% endraw %}
</div>
答案 1 :(得分:3)
通常不建议将服务器端模板(jinja2)和客户端模板(角度)混合在一起,但这是可能的。您可以尝试使用angularjs的$interpolateProvider
功能,它允许您定义一组自定义分隔符。由于jinja2也使用{{
和}}
作为分隔符,因此您可以告诉角度使用不同的内容,例如[[
和]]
<script>
var customInterpolationApp = angular.module('customInterpolationApp', []);
customInterpolationApp.config(function($interpolateProvider) {
$interpolateProvider.startSymbol('[[');
$interpolateProvider.endSymbol(']]');
});
.......
有关官方文档,请参阅here