可以将AngularJS与Jinja2模板引擎一起使用吗?

可以将AngularJS与Jinja2模板引擎一起使用吗?,第1张

可以将AngularJS与Jinja2模板引擎一起使用吗?

你有一些选择。

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的偏好是显而易见的,但是以上任何一种方法都可以。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5643080.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存