使用Flask设置AngularJS

时间:2014-10-17 22:19:28

标签: angularjs flask

这应该是基本的,但我无法使用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>

3 个答案:

答案 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/