python - Flask 和 AngularJs

标签 python html angularjs flask

<分区>

我正在尝试在我的 flask 项目中实现 AngularJs。在我的 app.py 中,我有这段代码来呈现一个测试站点:

@app.route('/test/')
def test():
    return render_template('test.html')

在 test.html 中我有这个:

<!DOCTYPE html>
<html lang="en" data-ng-app>
  <head>
    <meta charset="utf-8">
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
    <title>Flask-Triangle - Tutorial</title>
  </head>
  <body>
    <label>Name:</label>
    <input type="text" data-ng-model="yourName" placeholder="Enter a name here">
    <hr>
    <h1>Hello {{ yourName }}!</h1>
  </body>
</html>

当我在输入字段中输入时,什么也没有发生。 我检查过 angular.min.js 是否已正确加载。 我必须在 app.py 中做些什么才能完成这项工作吗?

最佳答案

Flask 使用 jinja 作为它的模板语言,它也使用 {{ variable }}

所以当 flask 渲染模板时 {{ yourname }} 只是变成一个空字符串,因为 yourname 不是当前渲染中的上下文变量

要解决此问题,您可以使用 flask-triangle http://flask-triangle.readthedocs.org/en/develop/tutorial/part1.html

它提供了一个模板过滤器

{{ 你的名字 | angular }} 这将确保模板呈现正确的 Angular

你也可以在括号内使用转义括号(但我认为这更丑陋)

{{ '{{ 你的名字}}' }}

关于python - Flask 和 AngularJs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32147748/

相关文章:

html - css 反增量问题

javascript - 来自指令的 Angular 范围变量不以 ng 样式同步

python - "if n"是什么意思?

python - 如果有2个错误处理如何调用属性?

python - 在 scikit-learn 中将 RandomizedSearchCV(或 GridSearcCV)与 LeaveOneGroupOut 交叉验证相结合

javascript - 添加关闭按钮 div 以关闭拳击

HTML5 验证检查输入大于 0

javascript - 循环内的异步调用

javascript - ng-class 适用于 ng-repeat 之外?

python - PyQt - 使用 For 循环创建菜单 :