javascript - Flask 正在解析 AngularJS 表达式

标签 javascript python angularjs flask

使用 Python 3.4.1

一切正常,否则。

例如:

<li ng-repeat="thing in things"><a href="#">{{thing}}</a></li>

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

<li ng-repeat="thing in things"><a href="#"></a></li>

我知道这是使用相同花括号表示法的 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'

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='#>',
))

使用标签

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

只是按原样呈现它而不解释定界符。显然会导致一堆 404。


app = Flask(__name__)
app._static_folder = 'static'
app.jinja_options.update(dict(
    variable_start_string='%%',
    variable_end_string='%%'
))

app = Flask(__name__)
app._static_folder = 'static'
app.jinja_options.update(
    variable_start_string='%%',
    variable_end_string='%%'
)

两者都给出 TypeError: 'ImmutableDict' objects are immutable

将我的 Angular 表达式更改为 {{'{{thing}}'}} 可行,但我会尽快切换到不同的框架,而不是像那样管理我的 Angular 代码。

最佳答案

使用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

在模板中:

<li ng-repeat="thing in things"><a href="#">{{thing}}</a></li>
%% jinja_expression %%

关于javascript - Flask 正在解析 AngularJS 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26538871/

相关文章:

javascript - Google Adwords API 发现以元素 'serviceSelector' 开头的无效内容

javascript - 无法在jquery中获取表单标签?

javascript - vue-draggable - 不能直接改变我的数组

python - 无法在Mac上导入Pyodbc

javascript - Angular-moment js 显示的日期比实际日期更旧

javascript - JavaScript 中的多行变量

python - 如何使用python脚本转换dos2unix csv文件

python - 将输入与文件进行比较并注意顺序

regex - AngularJS 和 .htaccess 重定向

angularjs - 如何显示Toast消息?