jinja2的模板和Angular都依赖于双花括号({{ expression }}),如何避免这两者的冲突
方法一
前端代码中修改Angular的渲染标记
var app = angular.module("myApp",[])
app.config(['$interpolateProvider', function($interpolateProvider) {
$interpolateProvider.startSymbol('{[');
$interpolateProvider.endSymbol(']}');
}]);
这样后面在html中以下面的方式使用Angular
<p>{[ expression ]}</p>
方法二
使用Jinja2的raw屏蔽解析Jinja2渲染
{%raw%}
<p>{{ expression }}</p>
{%endraw%}
方法三
在外层增加两个花括号让Jinja2先解析
<p>{{ '{{ expression }}' }}</p>
方法四
在flask中修改Jinja2的渲染标识
app = Flask(__name__)
app.jinja_env.variable_start_string = '%%'
app.jinja_env.variable_end_string = '%%'