你有一些选择。
1)更改Angular的定界符表示法:
var app = angular.module('Application', []);app.config(['$interpolateProvider', function($interpolateProvider) { $interpolateProvider.startSymbol('{a'); $interpolateProvider.endSymbol('a}');}]);
无论选择什么作为开始和结束符号,都将充当新的分隔符。在这种情况下,你可以使用将变量表示为
Angular {a some_variable a}。
这种方法的优点是只需要设置一次就可以了。
2)更改Jinja2的定界符表示法。
覆盖或子
Flask.jinja_options.update上Flask,绑定到你的应用程序对象(相关瓦尔:
block_start_string,block_end_string,variable_start_string,variable_end_string,comment_start_string,comment_end_string):
jinja_options = app.jinja_options.copy()jinja_options.update(dict( block_start_string='<%', block_end_string='%>', variable_start_string='%%', variable_end_string='%%', comment_start_string='<#', comment_end_string='#>'))app.jinja_options = jinja_options
由于敏感数据从服务器端未展开的风险较高,因此我建议在你不是唯一开发人员的任何项目中更改前端(即Angular)的语法。
3)使用或在Jinja2中输出 原始块:
{% raw %}{% verbatim %}
<ul>{% raw %} {% for item in seq %} <li>{{ some_var }}</li> {% endfor %}{% endraw %}</ul>
4)使用Jinja2将花括号写在模板中:
{{ '{{ some_var }}' }}
这将以
{{ some_var }}HTML格式输出。
我对方法1的偏好是显而易见的,但是以上任何一种方法都可以。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)