自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
如果你要从零开始建立了一些网站,可能会注意到你不得不反复解决一些类似的问题。这样做是令人厌烦的,并且违反了良好编程的核心原则之一―DRY(不要重复自己)。即使是有经验的Web开发人员在创建新站点时也会遇到类似的问题。在实际开发中,通过使用Web框架可以解决这些问题。Python为我们提供了许多框架,如Flask、Django、Bottle等。
1 什么是Web框架
Web框架全称为Web应用框架(Web Application Framework),用来支持动态网站、网络应用程序及网络服务的开发。Web框架可以使用任何语言编写,换而言之,每种语言都有对应的Web框架用来编写Web程序。框架会提供如下常用功能:
l 管理路由
l 访问数据库
l 管理会话和Cookies
l 创建模板来显示HTML
l 促进代码的重用
应用Web框架可以避免重复的开发过程,在创建新网站时,可以重复利用已有的框架,从而节省一部分人力,当然也能节省一部分开销,它可以算得上是网站开发过程的一大利器。
2 Python常用的Web框架
Python中的Web框架可以称得上是百家争鸣,各种框架数不胜数。而关于这些框架孰优孰劣的讨论一直在持续,导致从事Web开发的人员不知道如何选择框架。本小节我们就来介绍一些当前主流的Web框架的特点。
(1)Flask
Flask是一款轻量级Web应用框架,它是基于Werkzeug实现的WSGI和Jinja2模板引擎。Flask的作者是Armin Ronacher。Flask的设计哲学为:只保留核心,通过扩展机制来增加其他功能。Flask的扩展环境非常丰富,Web应用的每个环节基本上都有对应的扩展供开发者选择,即便没有对应的扩展开发者自己也能轻松地实现一个。
(2)Django
Django最初是被用来管理劳伦斯出版集团旗下一些以新闻内容为主的网站的,它是以比利时的吉卜赛爵士吉他手Django Reinhardt的名字来命名的,它和Flask是目前使用最广泛的Web框架。它能取得如此大的应用市场很大程度上是因为提供了非常齐备的官方文档及一站式的解决方案,包含缓存、ORM/管理后台、验证、表单处理等,使开发复杂的数据库驱动的网站变得更加简单。但由于Django的系统耦合度太高,替换内置的功能往往会占用一些时间。
(3)Bottle
Bottle是一款轻量级的Web框架。它只有一个文件,代码只使用了Python标准库,却自带了路径映射、模板、简单的数据库访问等Web框架组件,而不需要额外依赖其他第三方库。它更符合微框架的定义,语法简单,部署也很方便。
(4)Tornado
Tornado全称Tornado Web Server,最初是由FriendFeed开发的非阻塞式Web服务器,现在的Tornado框架是被 FaceBook收购后开源的版本。由于Tornado是非阻塞式服务器,速度相当快,每秒钟可以处理数以千计的连接,这意味着对于长轮询、WebSocket等Web服务来说,Tornado是一个理想的Web框架。