加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

典型的Angular.js工作流和项目结构(使用Python Flask)

发布时间:2020-12-17 09:30:21 所属栏目:安全 来源:网络整理
导读:我对这个整个MV *客户端框架疯狂很新。它不一定是Angular.js,但我选择它,因为它觉得比Knockout,Ember或Backbone更自然。反正什么是工作流呢?人们开始在Angular.js中开发一个客户端应用程序,然后将后端连接到它? 或者相反,首先在Django,Flask,Rails
我对这个整个MV *客户端框架疯狂很新。它不一定是Angular.js,但我选择它,因为它觉得比Knockout,Ember或Backbone更自然。反正什么是工作流呢?人们开始在Angular.js中开发一个客户端应用程序,然后将后端连接到它?
或者相反,首先在Django,Flask,Rails中构建后端,然后附加一个Angular.js应用程序呢?有没有一个“正确”的方式做,或者它只是一个个人喜好到底?

我也不确定是否根据Flask或Angular.js来构造我的项目?社区实践。

例如,Flask的minitwit应用程序的结构如下:

minitwit
|-- minitwit.py
|-- static
   |-- css,js,images,etc...
`-- templates
   |-- html files and base layout

Angular.js教程应用程序的结构如下:

angular-phonecat
|-- app
    `-- css
    `-- img
    `-- js
    `-- lib
    `-- partials
    `-- index.html
|-- scripts
 `-- node.js server and test server files

我可以自己画一个Flask应用程序,它很容易看到Angular.js应用程序像ToDo List本身,但是当涉及到使用这两种技术,我不明白他们如何在一起工作。当你已经有Angular.js时,看起来我不需要一个服务器端的web框架,一个简单的Python web服务器就足够了。在Angular to-do应用中,他们使用MongoLab使用Restful API与数据库通信。没有在后端有一个web框架。

也许我很困惑,Angular.js只是一个花哨的jQuery库,所以我应该使用,就像我会在我的Flask项目中使用jQuery(假设我改变Angular的模板语法为不与Jinja2冲突的东西) 。我希望我的问题有一些意义。我主要工作在后端,这个客户端框架对我来说是一个未知的领域。

我将开始在标准结构中组织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挂钩到你的角度应用程序。

编辑:我把一个应用程序模板,虽然有点复杂,我上面描述,说明了如何使用AngularJS Flask构建应用程序,完成AngularJS和一个简单的Flask API之间的通信。这里是如果你想检查出:https://github.com/rxl/angular-flask

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读