我正在尝试将AngularJs应用到我的flask项目中。在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中做些什么才能完成这项工作吗?
另一种解决方法是,您可以在顶部用
{% raw %}
和底部用{% endraw %}
包装整个test.html内容。这将告诉金佳不要在这方面做任何特别的事情。如果您根本不打算使用jinja,这种方式只有在时才是好的。使用它也会使编写更好一些,因为您不再需要添加Joran Beasley suggested的修复程序。示例:
Flask使用jinja作为模板语言,它还使用
{{ variable }}
因此,当flask呈现模板时
{{ yourname }}
将变成空字符串,因为在当前呈现中,yourname不是上下文变量要解决这个问题,可以使用
flask-triangle
http://flask-triangle.readthedocs.org/en/develop/tutorial/part1.html它提供了一个模板过滤器
确保模板呈现正确的角度
你也可以在括号内使用转义括号(但我认为这要难看得多)
{{ '{{ yourname }}' }}
相关问题 更多 >
编程相关推荐