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 = '%%'