Flask正在解析AngularJS表达式

Cod*_*man 3 javascript python flask angularjs

使用Python 3.4.1

一切都很好,否则.

例如:

<li ng-repeat="thing in things"><a href="#">{{thing}}</a></li>
Run Code Online (Sandbox Code Playgroud)

将创建我期望的许多事物的元素,并且控制台甚至记录我的预期结果......但是当呈现html时,表达式被删除并且我遇到了一个空元素列表:

<li ng-repeat="thing in things"><a href="#"></a></li>
Run Code Online (Sandbox Code Playgroud)

我知道Flask使用相同的花括号表示法是一个问题.有人知道如何让AngularJS表达式呈现吗?


尝试了两个:

jinja_options = Flask.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 = Flask(__name__)
app._static_folder = 'static'
Run Code Online (Sandbox Code Playgroud)

app = Flask(__name__)
app._static_folder = 'static'
app.jinja_options.copy().update(dict(
    block_start_string='<%',
    block_end_string='%>',
    variable_start_string='%%',
    variable_end_string='%%',
    comment_start_string='<#',
    comment_end_string='#>',
))
Run Code Online (Sandbox Code Playgroud)

使用标签

<script type="text/javascript" src="%% url_for('static', filename='js/lib/angular.min.js') %%"></script>
Run Code Online (Sandbox Code Playgroud)

只是按原样呈现它而不解释分隔符.显然导致了一堆404.


app = Flask(__name__)
app._static_folder = 'static'
app.jinja_options.update(dict(
    variable_start_string='%%',
    variable_end_string='%%'
))
Run Code Online (Sandbox Code Playgroud)

app = Flask(__name__)
app._static_folder = 'static'
app.jinja_options.update(
    variable_start_string='%%',
    variable_end_string='%%'
)
Run Code Online (Sandbox Code Playgroud)

两个都给 TypeError: 'ImmutableDict' objects are immutable

将我的角度表达式更改为{{'{{thing}}'}}有效,但我只是尽快切换到不同的框架,而不是管理我的角度代码.

nat*_*ill 6

用途jinja_options:

app = Flask(__name__)

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
Run Code Online (Sandbox Code Playgroud)

在模板中:

<li ng-repeat="thing in things"><a href="#">{{thing}}</a></li>
%% jinja_expression %%
Run Code Online (Sandbox Code Playgroud)