首先,我将以标准结构组织Flask应用程序,如下所示:
app|-- app.py|-- static |-- css |-- img |-- js|-- templates
正如btford所提到的,如果你正在开发Angular应用程序,则需要集中精力使用Angular客户端模板,而远离服务器端模板。使用render_template(’index.html’)会使Flask将你的角度模板解释为Jinja模板,因此它们将无法正确渲染。相反,你需要执行以下操作:
@app.route("/")def index(): return send_file('templates/index.html')请注意,使用send_file()意味着将对文件进行缓存,因此,你至少在开发时可能要使用make_response():
return make_response(open('templates/index.html').read())然后,构建应用程序的AngularJS部分,修改应用程序结构,使其看起来像这样:
app|-- app.py|-- static |-- css |-- img |-- js |-- app.js, controllers.js, etc. |-- lib |-- angular |-- angular.js, etc. |-- partials|-- templates |-- index.html
确保index.html包含AngularJS以及任何其他文件:
<script src="static/lib/angular/angular.js"></script>
此时,你尚未构建RESTful API,因此可以让js控制器返回预定义的示例数据(仅是临时设置)。准备就绪后,实现RESTful API并使用angular-resource.js将其连接到你的angular应用程序。



