这应该是基本的,但我无法使用Flask玩角色。 Angular和Flask具有相同的可变插值语法{{ variable }}
,并且根据博客文章,我可以使用管道来区分这两者,但是下面会导致读取no filter named 'angular'
的错误
<!DOCTYPE html>
<html ng-app>
<head>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script>
<script type="text/javascript" src= "http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.js"></script>
</head>
<body>
<label>{{ yourName | angular }}</label>
<input type="text" ng-model="yourName" placeholder="Enter a name here">
</body>
</html>
答案 0 :(得分:5)
因为AngularJS和Jinja模板系统都使用“{{}}”符号,所以您需要添加flask扩展来处理此问题。使用Triangle flask扩展。
将实例应用程序注入Triangular构造函数。请检查以下代码。
app = Flask(__name__)
Triangle(app)
有关详细信息,请转到here。
答案 1 :(得分:0)
您使用render_template
发送该HTML文档吗?如果是这样,问题是你使用的是Jinja2而不是Angular。 Jinja2没有名为angular的过滤器。这可以通过添加raw
块
<label>{% raw %}{{ yourname | angular }}{% endraw %}</label>
答案 2 :(得分:0)
一个选项是完全分离Flask应用程序和AngularJS应用程序。这样,您就不会遇到插值问题,它会消除(或至少减少)应用中烧瓶和角度的耦合。我已经编写了一个关于将Flask和AngularJS一起使用的简单教程系列。我认为它将真正帮助您一起使用AngularJS和Flask - http://tutsbucket.com/tutorials/building-a-blog-using-flask-and-angularjs-part-1/