flask】【Python基础】flask框架是用来干什么的

2020-12-28 14:59发布

3条回答
小猪仔
2楼 · 2020-12-29 11:20

Flask是一个微框架,提供了比较完善的Web服务器所需的基本功能,同时允许且建议用户自由选择扩展的技术。Flask适合开发API服务(独立的权限系统,依赖的第三方组件)。

Flask适合做app后台或基于json通信的ajax应用,是轻量级框架,我用到的一个技术方案是pypy+ Flask +peewee + uWSGI + nginx + ubuntu server,速度快,开发效率高,主要是通过服务器返回json数据(json可以用压缩方式)走http和各个app交互,你也可以用Flask+WebSocket实现类似在线游戏的长连接,数据格式建议用json,如果有性能要求可以用Protocol Buffers协议。这样基于json api(RESTful太底层了,一般用json文本就可以了)的开发方式,一套后台程序,可以用于ajax网页,android,ios,pc,tv等多套app,最大程度满足了软件复用思想,否则一个app开发一个后台或变种后台,代价非常高,也不利于安全和性能。微服务就是这种思想扩展,但主要是针对企业应用,web2.0发展以来,一般应用用http api生成json数据交互就好,mvc模式不适合在http api上用,mvc模式是web1.0时代没有ajax,json无法分离html的妥协解决方案。http调用类似函数一样,有入口参数,返回json给调用者,当然可以在返回时加密、压缩,从而实现低耦合高内聚。另外对于http api需要防止注入攻击,加强权限控制,限制调用次数。


魏魏姐
3楼 · 2020-12-30 10:11
  1. Flask确实很“轻”,不愧是Micro Framework,从Django转向Flask的开发者一定会如此感慨,除非二者均为深入使用过

  2. Flask自由、灵活,可扩展性强,第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的Python库

  3. 入门简单,即便没有多少web开发经验,也能很快做出网站

  4. 非常适用于小型网站

  5. 非常适用于开发web服务的API

  6. 开发大型网站无压力,但代码架构需要自己设计,开发成本取决于开发者的能力和经验各方面性能均等于或优于Django

  7. Django自带的或第三方的好评如潮的功能,Flask上总会找到与之类似第三方库

  8. Flask灵活开发,Python高手基本都会喜欢Flask,但对Django却可能褒贬不一

  9. Flask与关系型数据库的配合使用不弱于Django,而其与NoSQL数据库的配合远远优于Django

  10. Flask比Django更加Pythonic,与Python的philosophy更加吻合


Flask是一个轻量级的Web应用框架, 使用Python编写。基于WerkzeugWSGI工具箱和 Jinja2模板引擎。使用 BSD 授权。

Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。


相关问题推荐

没有解决我的问题,去提问