У вас есть варианты.
1) Изменить разделитель для обозначения Угловой:
var app = angular.module('Application', []);
app.config(['$interpolateProvider', function($interpolateProvider) {
$interpolateProvider.startSymbol('{a');
$interpolateProvider.endSymbol('a}');
}]);
Что бы ни выбрали для начала и конца символов будет выступать в качестве новых разделителей. В этом случае вы должны выразить переменную Angular, используя {a some_variable a}
.
Этот подход имеет то преимущество, что его необходимо установить только один раз и быть явным.
2) Измените обозначение разделителя на Jinja2.
Override или подкласс 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
Как есть высокий риск конфиденциальных данных не расширяясь с серверной стороны, я предлагаю вместо этого изменить синтаксис на front-end (т.е. Angular) на любой проект, в котором вы не являетесь единственным разработчиком.
3) Выход в Jinja2 raw block использованием {% raw %}
или {% verbatim %}
:
<ul>
{% raw %}
{% for item in seq %}
<li>{{ some_var }}</li>
{% endfor %}
{% endraw %}
</ul>
4) Использование jinja2 писать фигурные скобки в шаблоне:
{{ '{{ some_var }}' }}
это будет выводиться как {{ some_var }}
в HTML.
Мои предпочтения в отношении подхода №1 очевидны, но любой из вышеперечисленных функций будет работать.