angularjs无法找到模板目录,烧瓶作为后端

时间:2013-12-24 07:10:35

标签: angularjs flask angularjs-directive

我在客户端使用flask作为后端和angularjs

我的目录结构:

露点:

  ->app.py

  ->templates
    ->hello.html
    ->test.html

  ->static
    ->js
      ->directives.py
    ->lib
      ->angular.js

我的app.py文件:

from flask import Flask, make_response,render_template
@app.route("/aboutUs")
def aboutUs():
    return render_template("test.html", title="test page")

我的directives.py文件:

angular.module('components',[])
    .directive("helloWorld",function($scope,$log){
        $scope.$log = $log;
        return{
            restrict:"A",
            templateUrl:"templates/hello.html"
        }
    })

angular.module('testApp',['components'])

Flask能够正确渲染test.html模板,但angular显示了hello.html,找不到模板错误

1 个答案:

答案 0 :(得分:9)

1。 Jinja模板

如果hello.html包含Jinja2标记,则它是一个模板,需要由Flask呈现。添加@app.route进行渲染。

@app.route("/hello")
def hello():
    return render_template("hello.html")

然后指向Angular指令中的hello URL。

templateUrl: "{{ url_for('hello'}} }}"

2。角度模板

如果文件只包含HTML(没有Jinja2标记),那么它不是模板。它不应该在templates文件夹中,而应该在静态文件夹中; ;比如static/angular_templates/hello.html

然后指向指令中的静态文件。

templateUrl: "{{ url_for('static', filename='angular_templates/hello.html') }}"