此文部分参照《Python高效开发实战》--刘长龙

Python网络框架

网络框架指一组python包,它能够让开发者更加专注于网站应用业务逻辑的开发,而无须处理网络应用层的协议、线程、进程等方面,从而提高开发者的工作效率以及网络应用程序的质量。

目前Python语言的十几个开发框架中,几乎所有的全栈网络框架都强制或引导开发者使用MVC架构开发Web应用.

Python的四种主流框架为:Django/Flask/Tornado/Twisted

此篇博文围绕Django/Flask讲解各自特点以及主要应用.

MVC:

MVC--M(Model):封装与应用程序相关的业务逻辑的数据及对数据的处理方法,是处理数据逻辑的部分.Model提供功能性接口,通过接口访问数据;

MVC--V(View):负责数据的显示和呈现,View是对用户的直接输出;

MVC--C(Controller):从用户端收集用户的输入,可以看作View的反向功能,Controller将用户作出的改变返回给Model,由Model在返回给View,Model作为数据中心,从而提高数据的一致性;

1.PNG

ORM(Object-Relational Mapping 对象关系映射):是在关系型数据库和业务实体对象之间的映射,即开发者对对象与属性进行操作,而不用再去写复杂的sql语句,ORM必须具备三方面功能:

映射技术:

数据类型映射

类映射

关系映射

CRUD操作:(ORM将这些调用转换为SQL语句,通过引擎发送给数据库执行,将结果记录并转换为对象)

create增加

Retrieve读取

Upadate更新

Delete删除

缓存优化:由于数据库的操作通常比较耗时,所以大多数ORM提供数据缓存优化的功能

Django

Django发布于2003年,是当前最成熟完整最广泛以及最富盛名的Python网络框架.Django定义了服务发布;路由映射;模板编程;数据处理的一整套功能.遵循MVC架构.

优点:

各模块之间结合紧密;

功能强大而相对封闭;

完整的在线文档及健全的开发社区;

具备自带优秀的ORM;

强大的URL映射技术;

后台管理系统自动生成;

用户多,第三方库丰富;

成熟稳定完善,适合企业级网站开发

缺点:

由于自带的丰富功能造成的冗余/耦合程度较高;

可能相对较重,比如开发小应用时,可能会不够灵活/自由;

Flask

Flask发布于2010年,它吸收了其他框架的优点并且把自己的主要领域定义在微小项目上.作为微框架,安装时不会自动安装ORM数据组件等其他组件,所以开发者需要自行安装需要的组件.

优点:

内置开发服务器和调试器:Flask默认处于调试状态,运行时会将错误返回给控制台以及HTTP客户端;

与Python单元测试功能无缝连接:测试程序可以模拟进行HTTP访问的客户端来调用Flask路由处理函数,并且获取函数的输出来进行自定义的验证;

使用Jinja2模板,强大程度略高于Django的自带模板;

完全兼容WSGI 1.0 标准;

给予Unicode编码;

完美适合小型网站;

第三方库同样丰富;

开发灵活程度高,入门简单;

缺点:

很多东西需要从头构建;

用的第三方插件可能要踩的坑较多;

python django flask介绍,Django/Flask简介相关推荐

  1. Django框架介绍及配置

    Django框架介绍及配置 一, WEB框架介绍 1.1Web应用程序处理流程 1.2Web框架程序的意义 用于搭建Web应用程序 免去不同Web应用相同代码部分的重复 1.3 Web应用程序的本质 ...

  2. python django flask介绍_django和flask哪个值得研究学习

    对于初学者来说,找到一个好的框架来学习或者项目开发都是非常有必要的,而当你有一定开发经验后,你应该选择适合当前业务需要的框架.我这里并不想探讨哪个框架好哪个不好,这个永恒的话题就跟探讨"世界 ...

  3. python django flask介绍_Python开发WEB框架Flask详细介绍

    Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug和模 ...

  4. python twisted和flask_Python高效开发实战——Django、Tornado、Flask、Twisted(第2版)

    上篇 Python基础第1章 Python基础知识2 1.1 Python综述3 1.1.1 了解Python的特性及版本3 1.1.2 安装Python5 1.1.3 使用Python原生编辑器8 ...

  5. python高效开发实战--djangotornadoflasktwisted(第2版_Python高效开发实战——Django、Tornado、Flask、Twisted(第2版)...

    上篇 Python基础第1章 Python基础知识2 1.1 Python综述3 1.1.1 了解Python的特性及版本3 1.1.2 安装Python5 1.1.3 使用Python原生编辑器8 ...

  6. python web开发框架flask_Python Web 开发框架,Flask 与 Django那个更好

    本文把 Flask 和 Django 做一个比对,因为我对这两个 Python Web 框架都有实际的开发经验.希望我可以帮助您选择学习哪个框架,因为学习一个框架可能会非常耗时 -- 当然也很有趣! ...

  7. python web flask开发框架_Python Web 开发框架,Flask 与 Django那个更好

    本文把 Flask 和 Django 做一个比对,因为我对这两个 Python Web 框架都有实际的开发经验.希望我可以帮助您选择学习哪个框架,因为学习一个框架可能会非常耗时 -- 当然也很有趣! ...

  8. [Link]选择一个 Python Web 框架:Django vs Flask vs Pyramid

    选择一个 Python Web 框架:Django vs Flask vs Pyramid

  9. python+vue酒店客房管理系统flask django

    1世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确.快速.完 ...

  10. Flask 和 Django 的比较和选择

    Python是一种功能强大的语言,提供了一系列令人惊叹的工具,可以使python开发人员的生活变得简单得多.但是,当涉及到Web框架时,Flask和Django是最喜欢的框架.Web框架是软件包和模块 ...

最新文章

  1. 【GLib】GLib学习笔记(一):GLib、GObject、GType
  2. 安全×××限 爱因斯坦对安全进程的启示
  3. 字符串分割(C++)
  4. 稀疏矩阵之python实现
  5. 建设公司的技术+企业客户的沟通=极致运行的网站
  6. Java 设计模式之适配器模式
  7. 现在就启用 HTTPS,免费的!
  8. 小程序 || 语句_C ++开关语句| 查找输出程序| 套装1
  9. Luogu 3066 [USACO12DEC]逃跑的BarnRunning Away From…
  10. 是什么门的缩写_干货分享:汽车排气系统部件有什么?出故障都有什么现象?...
  11. mysql 插入慢_Mongodb 与 MySQL对比
  12. 导入AIDL例子的时候,在asBinder出现错误
  13. 监管码服务器维修,云风的 BLOG
  14. 一分钟搞懂的算法之BPE算法
  15. 【车间调度】基于matlab改进的鲸鱼算法求解双目标柔性车间调度问题【含Matlab源码 026期】
  16. pr cpu100%_【Premiere】视频剪辑必装插件,5个PR插件推荐
  17. 单片机c语言设计电风扇,基于单片机的智能电风扇的设计(毕业论文).docx
  18. Android11.0(R) MTK user版本打开MtkLog功能
  19. 帝国栏目导航点击显示不同样式的实现
  20. so库方法的调用过程

热门文章

  1. 分享一个强大的工具,可以快速查看自己公司网站或竞争对手网站的CDN情况
  2. hdu 1249 三角形 (递推)
  3. 【Android UI设计与开发】第04期:引导界面(四)仿人人网V5.9.2最新版引导界面...
  4. 传统CPU架构不再是高性能计算唯一选择
  5. java对日期设置时间和对日期加减周
  6. C语言中 malloc,calloc 和 realloc 函数之间的区别
  7. matlab练习程序(图像放大/缩小,双立方插值)
  8. Finding distance between two curves
  9. poj 3026 Borg Maze (bfs + 最小生成树)
  10. CSS圆角兼容IE6