tornado flask与flask的特点和区别有哪些

Python 笔记五:Flask的N种可能性 - 简书
Python 笔记五:Flask的N种可能性
Python 笔记五:Flask的N种可能性
其实,Flask框架教程太多,我不能把所有功能都写一遍,也没有意义。我也不是计算机出身,写得也没他们好。所以这个笔记从我自己角度出发,有不同意见请留言。
从我自己的角度出发,我希望一个微框架,很容易上手。Django明显不合适,Tornado虽然好,但是要造轮子,所以还是适合一些纯计算机大神使用。我们不太适合。
可能一:传统Flask
入门教程可以参考,,这是一个很基础的教程,运用了一些官配的控件,其中包括jinja模板,sqlalchemy的ORM:
flask 主体
flask-login 登陆验证
flask-openid 第三方openID验证
flask-mail 发送Email
flask-sqlalchemy 官配ORM
sqlalchemy-migrate 数据库迁移
flask-whooshalchemy
flask-wtf web表单
flask-babel JS新语法兼容库
flup python写的Web Server
这个教程也有它的局限性,太老了。结合现在的Web趋势,大家对Jquery和模板前段框架越来越不重视,更多是Angular等MVVM框架加上Rest服务的后端。所以我的聚焦点在Flask的扩展多,适合超快速开发,和GIS不谋而合的特点,我更推荐下面一种方式。
可能二:Flask和Angular结合
运用AngularJS和Flask-Restful的组合,可以参考
和一般Yeoman的generator一样,首先我们安装Yeoman:
npm install -g yo
然后安装generator:
npm install -g generator-angular-flask
安装完毕,这时候可以构建项目可以输入yo然后选择,或者直接输入
yo angular-flask
然后创建一个虚拟环境python virtualenv.py,安装python的包,./install.sh for linux install.sh for windows,然后就可以正式开工。
创建一个实体
yo angular-flask:entity [myentity]
同样数据库的创建,迁移,升级和降级可以通过db_create.py,db_migrate.py,db_upgrade.py,db_downgrade.py来完成。
服务端 flask/bin/python run.py for Linux flask/scripts/python run.py for Windows
客户端 grunt server
可能三:Flask和Vue.js结合
几经周折,我看上了Vue.js的这MVVM框架。由于它轻量易用,上手极快,结合了Angular和React的一些优点,如果你懂得Angular,想上手Vue.js是很轻松的一件事。而且Vue.js是个中国人写的,我对其产生一种特别的好感,轻量级的解耦的选择可以说,和flask框架之间有一种特殊的共同点。
这里举一个github的例子,这个例子简洁明了,将flask作为一种rest服务,可以采用flask + gevent + gunicorn + nginx的部署方式。熟悉flask的同学一定知道,在初始化flask,即app = Flask(__name__)。通过解释器去分配对应的路由,路由中带有参数ticket和username,并将查询结果整理成为json输出。
@app.route('/GetCetScore/&ticket&/&username&',methods=['POST','GET'])
def get_cet_score(ticket, username):
ct = CetTicket()
result = ct.get_score(ticket, username)
result['ticket'] = ticket
result = {'Status': '0', 'Contact_us': ''}
return jsonify(result)
前端则是将每个页面组件化,把对应的的服务写在对应的组件当中。详情参考和,可以参考我的。
转载,请表明出处。
求职中 深圳 非诚勿扰 微信号brandonxiang

我要回帖

更多关于 tornado部署flask 的文章

 

随机推荐