简单的Web开发框架

开课吧开课吧锤锤2021-07-14 11:03

Python的Web开发,也是有很多工作机会的领域。如果您对Python的Web开发感兴趣,并且打算开始学习如何使用Python进行Web开发等等,那么,学习一种基于Python的Web开发框架是必不可少的。Python是当前最热门、也是最主流的Web开发语言之一,它的二十多年历史中出现了许多Web框架,如Django、Tornado和Flask等等,其中一些历史悠久,发展迅速,还有一些已经停止维护。  

简单的Web开发框架

一、基于Python的代表性Web框架  

下面是一些比较有代表性的框架:  

Django:  

Python界最全能的Web开发框架,battery-include各种功能完备,可维护性和开发速度一级棒。常有人说Django慢,其实主要慢在DjangoORM与数据库的交互上,所以是否选用Django,取决于项目对数据库交互的要求以及各种优化。而对于Django的同步特性导致吞吐量小的问题,其实可以通过Celery等解决,倒不是一个根本问题。Django的项目代表:Instagram,Guardian。  

Tornado:  

天生异步,性能强悍是Tornado的名片,然而Tornado相比Django是较为原始的框架,诸多内容需要自己去处理。当然,随着项目越来越大,框架能够提供的功能占比越来越小,更多的内容需要团队自己去实现,而大项目往往需要性能的保证,这时候Tornado就是比较好的选择。Tornado项目代表:知乎。  

Flask:  

微框架的典范,号称Python代码写得最好的项目之一。Flask的灵活性,也是双刃剑:能用好Flask的,可以做成Pinterest,用不好就是灾难(显然对任何框架都是这样)。Flask虽然是微框架,但是也可以做成规模化的Flask。加上Flask可以自由选择自己的数据库交互组件(通常是Flask-SQLAlchemy),而且加上celery+redis等异步特性以后,Flask的性能相对Tornado也不逞多让,也许Flask的灵活性可能是某些团队更需要的。  

二、选择框架的建议  

这么多的Web框架,我们没有那么多的精力全都学一遍,也不可能全部精通,必然要有所取舍,那么该如何选择呢?有哪些可以参考的原则呢?  

下面的建议不一定正确,但可以作为参考:  

选择更主流的框架。因为它们的文档更齐全,技术积累更多,社区更繁盛,能得到更好的帮助和支持。  

选择更活跃的框架。关注项目在GitHub等环境中的更新频率、Issue和PullRequest的响应情况。如果一个项目长期没有更新,或者有一堆的问题需要解决但是没有得到响应,就不应该是你学习的对象。  

选择能够满足需求的框架。没有最好的框架,只有更合适的框架。你所选择的Web框架不仅需要满足当前的需求,还要充分考虑项目发展一段时间后的情况,即前瞻性,避免盲目选择而导致将来推倒重来的情况。  

选择时效性好的框架。在学习和使用框架的时候经常需要查阅和参考各种网络上的文章、博客和教程,但是需要注意他们的发表时间。有些框架的相关文章已经很老了,很久没更新了,应该放弃这种框架;有的框架一直以来都有不断的新文章、新博客出现,就是比较不错的选择。  

选择入门友好的框架。这条只对新手适用。详细的框架文档、官方教程对新手来说都是极大的帮助和鼓励。  

三、为什么推荐Django框架?  

Django具有以下特点:  

功能完善、要素齐全:该有的、可以没有的都有,自带大量常用工具和框架,无须你自定义、组合、增删及修改。  

完善的文档:经过十多年的发展和完善,Django有广泛的实践案例和完善的在线文档。开发者遇到问题时可以搜索在线文档寻求解决方案。  

强大的数据库访问组件:Django的Model层自带数据库ORM组件,使得开发者无须学习其他数据库访问技术(SQL、pymysql、SQLALchemy等)。  

灵活的URL映射:Django使用正则表达式管理URL映射,灵活性高。新版的2、0,进一步提高了URL编写的优雅性。  

丰富的Template模板语言:类似jinjia模板语言,不但原生功能丰富,还可以自定义模板标签,并且与其ORM的用法非常相似。  

自带后台管理系统admin:只需要通过简单的几行配置和代码就可以实现一个完整的后台数据管理控制平台。  

完整的错误信息提示:在开发调试过程中如果出现运行错误或者异常,Django可以提供非常完整的错误信息帮助定位问题。  

那么,我们根据前面的选择原则我们来逐条对比一下:  

1、主流、活跃程度:  

简单的Web开发框架

从Github的数据来看,Django的开发非常活跃,迭代速度也非常快。  

2、是否可以满足需求:  

Django以要素齐全、工具丰富、框架庞大著称,基本上别的框架有的它有,别的框架没有的它也有,如果Django满足不了需求,那么别的框架同样也一样。  

3、时效性:  

Django有很长的开发和实践过程,或早或晚的文档、教程、帮助、博客等等非常多,资料更新速度也很快,比如博主个人网站的Django教程,大家没事可以逛逛。  

4、入门友好程度:  

一个框架能否流行起来,对新手入门是否友好非常关键。Django在这一点做的非常好。  

以上内容由开课吧小编为大家整理发布的“简单的Web开发框架”一文,更多Web教程相关内容尽在开课吧广场Web教程频道。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享