作家
登录

Python Web框架介绍

作者: 来源: 2017-07-18 16:55:20 阅读 我要评论

【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路!


Python Web框架介绍

今天,有异常多的Python框架,用来赞助你更轻松的创建web应用。这些框架把响应的模块组织起来,使得构建应用的时刻可以更快捷,也不消去存眷一些细节(例如socket和协定),所以须要的都在框架里了。接下来我们会介绍不合的选项。

Python发源竽暌冠八十年代后期。开辟者是Centrum Wiskunde & Informatica的Guido van Rossum,这是位于荷兰阿姆斯特丹科学园区的一个数学和计算机科学研究中间。之后Van Rossum一向是Python开辟很有影响的人物。事实上,社区成员给了他一个荣誉称号:毕生仁慈独裁者(BDFL)。

经由初期的不起眼,Python已经成为互联网最风行的办事端编程说话之一。根据W3Techs的统计,它被用于很多的大年夜流量的┞肪点,跨越了ColdFusion, PHP, 和ASP.NET。个中跨越98%的┞肪点运行的是Python 2.0,只有1%多一点的┞肪点运行3.0。

框架闪开辟更轻松

今天,有着大年夜量的Python框架,它们可以让web应用的开辟更轻松。这些框架把不合的模块集成在一路,让你更快的构架法度榜样,而不消存眷一些细节(例如socket和协定),框架供给了须要的所有功能。

此外还有一种微框架,也属于非全栈框架,然则更轻量级。有的情况下,微框架是比较合适的,有时又合适应用全栈框架。在文┞仿的第二部分我们会对全栈框架和微框架做一个比较。

Django

Django生怕是最有代表性的Python框架了。它是一个遵守MMVC架构模式的开源框架。它的名字来自Django Reinhardt,一个法国作曲家和吉他吹奏家,很多人认为他是汗青上最巨大年夜的吉他吹奏家。位于堪萨斯洲的Lawrence城的Lawrence Journal-World报社有两位法度榜样员,Adrian Holovaty和Simon Willison,他们在2003的时刻开辟出了Django,用于给报纸开辟web法度榜样。

Django内置了模板引擎,同时也经由过程OOTB来支撑风行的Jinja2引擎。它还支撑基于正则的URL分发,可以经由过程简单的URL来完成复杂的映射。

Django的优势之一是只须要零丁的安装包来安装。其他的一些类似的框架须要下载很多组件才能开端工作。并且,Django还有完美的保持更新的文档,对于开源项目来嗣魅这平日是短板。它是一个结实的框架,很好的集成了很多来自社区的插件和扩大。项目背后的社区看上去也组织的很好,这大年夜它异常完美的文档和教程就可以看出来。

TurboGears

TurboGears是在几个有名的Python项目上构建起来的一个框架,如SQLAlchemy,WebOb,Repoze,Genshi。在某种意义上,TurboGears是将多个已经建立的开放平台粘合在一路。和Django一样,它采取MVC架构。它比来还包含一个“最小模式”,使其可以作为一个微框架。

最开端的源代码是由Massimo DiPierro在2007年开放的。在那时,它被称为Enterprise Web Framework(EWF)。因为定名冲突,它悛改好几回名字,最后在1.16版肯定为当前的web2py。应用web2py开辟的应用包含Movuca内容治理体系,音乐网站NoobMusic,名为LinkFindr的收集诊断对象,以及Instant Press博客平台。在2011年,web2py被评为最好的开源开辟软件,荣获Bossie Award。第二年,又斩获InfoWorld的年度技巧奖。

TurboGears的一些缺点包含治理功能较为基本,较少的第三方应用法度榜样以及只有初级的文档。TurboGears的一个重大年夜挑衅是它的胜过性。因为它混搭的其他组件都供给无穷的灵活性, 当试图决定何种路径来完成一个义务时它是过于复杂的。

web2py

web2py是一个开源框架,许可开辟者快速创建动态交互式的网站。它的设计目标是清除拖慢开辟的大年夜量反复编程义务,比如创建根本的表格。它在最初是作为对象开辟的。随后被Django和Ruby on Rails模仿,Ruby on Rails是个Ruby的框架。同TurboGears一样,它应用MVC架构。

与Django一样,web2py也具有广泛的文档。新开辟者和高等开辟者可以免费下载它的完全开辟手册。

作为分成两部分的系列文┞仿的第一部分,我们会介绍一些最风行的Python框架。固然大年夜部分现代的web框架都运行在办事端,也有一些框架开端测验测验与客户端代码结合,可以在客户端运行(例如Skulpt和Trinket)。Python框架平日分为全栈框架和非全栈框架。全栈框架设计大年夜用户体验到数据库的所有技巧,非全栈框架则并不包含全部开辟的全部技巧。

web2py的一些长处包含:

  • 轻易应用——作为一个鲁棒的全栈式框架,它无需其他依附就可以工作,轻易进修和安排,安装也无需任何设备文件,一旦下载完成,安装完毕,就可以用了。开辟者会获得一个数据库,一个基于web的IDE,web办事器以及一个有多个核心对象构成的强大年夜API。
  • 安然性出色——Web2py的模板说话削减了黑客应用跨站脚本的危险,抽象层在创建表单时有表荡竽暌跪有效性检查,避免SQL注入,也阻拦了跨站请求捏造进击(csrf进击)。会话被存储在办事器上,阻拦坏的履行者把浏览器cookie弄乱,并且每个暗码都是哈希后存储的。

web2py的一些缺点包含:

  • 在惯例基本上应用治理的接口不太轻易
  • 治理的接口没有权限
  • 没有内建的单位测试支撑
  • 开辟速度敏捷,所有的函数都出缺风行动,表单时主动生成的,高层次的小部件和应用网格都是内建的。

Flask

Flask是一个基于Jinja2和Werkzeug的python微框架,和其他框架类似,它是BSD授权的,一个有少量限制的免费软件许可。应用Flask的网站包含领英LinkedIN和Pinterest。Flask有以下特点:

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)