Python 笔记五:Flask的N种可能性

Python 笔记五:Flask的N种可能性

其实,Flask框架教程太多,我不能把所有功能都写一遍,也没有意义。我也不是计算机出身,写得也没他们好。所以这个笔记从我自己角度出发,有不同意见请留言

详情awesome-flask

图片来自 [官网](http://dormousehole.readthedocs.io/en/latest/)

从我自己的角度出发,我希望一个微框架,很容易上手。Django明显不合适,Tornado虽然好,但是要造轮子,所以还是适合一些纯计算机大神使用。我们不太适合。

可能一:传统Flask

入门教程可以参考被翻译的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的组合,可以参考generator-angular-flask

安装

和一般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.pydb_migrate.pydb_upgrade.pydb_downgrade.py来完成。

服务端 flask/bin/python run.py for Linux flask/scripts/python run.py for Windows

客户端 grunt server

参考angular-flask的Github项目

可能三:Flask和Vue.js结合

几经周折,我看上了Vue.js的这MVVM框架。由于它轻量易用,上手极快,结合了Angular和React的一些优点,如果你懂得Angular,想上手Vue.js是很轻松的一件事。而且Vue.js是个中国人写的,我对其产生一种特别的好感,轻量级的解耦的选择可以说,和flask框架之间有一种特殊的共同点。

这里举一个github的例子基于Vue和Flask的免准考证四六级成绩查询,这个例子简洁明了,将flask作为一种rest服务,可以采用flask + gevent + gunicorn + nginx的部署方式。熟悉flask的同学一定知道,在初始化flask,即app = Flask(__name__)。通过解释器去分配对应的路由,路由中带有参数ticketusername,并将查询结果整理成为json输出。

@app.route('/GetCetScore/<ticket>/<username>',methods=['POST','GET'])
def get_cet_score(ticket, username):
    ct = CetTicket()
    try:
        result = ct.get_score(ticket, username)
        result['ticket'] = ticket
    except:
        result = {'Status': '0', 'Contact_us': 'wangyuan.info'}
    return jsonify(result)

前端则是将每个页面组件化,把对应的的服务写在对应的组件当中。详情参考1简单入门2进阶[译]用Webpack构建Vue,可以参考我的Leaflet 笔记四:Vue-leaflet

转载,请表明出处。总目录Awesome GIS

转载,请表明出处。总目录后端记事本

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容