Bạn có một số tùy chọn.
1) Thay đổi ký hiệu delimiter cho góc:
var app = angular.module('Application', []);
app.config(['$interpolateProvider', function($interpolateProvider) {
$interpolateProvider.startSymbol('{a');
$interpolateProvider.endSymbol('a}');
}]);
Dù được chọn cho sự bắt đầu và kết thúc những biểu tượng sẽ hoạt động như delimiters mới. Trong trường hợp này, bạn sẽ biểu diễn một biến cho Angular bằng cách sử dụng {a some_variable a}
.
Cách tiếp cận này có lợi thế là chỉ cần được thiết lập một lần và là rõ ràng.
2) Thay đổi ký hiệu delimiter cho Jinja2.
Override hoặc lớp con Flask.jinja_options.update
trên đối tượng Flask
mà bạn liên kết với ứng dụng của bạn (vars liên quan: 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
Như có một nguy cơ cao của dữ liệu nhạy cảm sắp được mở rộng từ phía máy chủ, tôi đề xuất thay vì thay đổi cú pháp trên giao diện người dùng (tức là Góc) trên bất kỳ dự án nào mà bạn không phải là nhà phát triển duy nhất.
3) Output một raw block trong Jinja2 sử dụng {% raw %}
hoặc {% verbatim %}
:
<ul>
{% raw %}
{% for item in seq %}
<li>{{ some_var }}</li>
{% endfor %}
{% endraw %}
</ul>
4) Sử dụng Jinja2 để viết dấu ngoặc nhọn trong mẫu:
{{ '{{ some_var }}' }}
này sẽ được xuất ra như {{ some_var }}
trong HTML.
sở thích của tôi cho cách tiếp cận # 1 là rõ ràng, nhưng bất kỳ ở trên sẽ làm việc.