Flask:是否有可能指示烧瓶* NOT *处理模板的一部分?

时间:2014-03-27 19:22:59

标签: angularjs python-3.x flask jinja2

我正在尝试使用flask和angular.js。在渲染带有烧瓶的页面时,我尝试添加一些角度js和两个模板方法(标签)冲突。

我想要类似的东西:

<div>
    {{ flaskReplacesThis }}
</div>
<div>
    {%?! Ignore this, flask! %?}
    {{ angularReplacesThis }}
    {%?! endIgnore %?}
</div>

是吗:

  • 一个坏主意,我应该放弃希望,或者
  • 我应该推出自己的解决方案(如果是,怎么做?)。

我尝试使用谷歌搜索,没有看到任何我可以完全理解/使用的内容。

2 个答案:

答案 0 :(得分:10)

您可以使用raw块。其中的任何内容都不会被视为jinja2语法。

<div>
    {{ flaskReplacesThis }}
</div>
<div>
    {% raw %}
    {{ angularReplacesThis }}
    {% endraw %}
</div>

以下是documentation link

答案 1 :(得分:3)

通常不建议将服务器端模板(jinja2)和客户端模板(角度)混合在一起,但这是可能的。您可以尝试使用angularjs的$interpolateProvider功能,它允许您定义一组自定义分隔符。由于jinja2也使用{{}}作为分隔符,因此您可以告诉角度使用不同的内容,例如[[]]

<script>
var customInterpolationApp = angular.module('customInterpolationApp', []);

customInterpolationApp.config(function($interpolateProvider) {
$interpolateProvider.startSymbol('[[');
$interpolateProvider.endSymbol(']]');
});
 .......

有关官方文档,请参阅here