Web开发是Python语言应用领域的重要部分,也是工作岗位最多的领域。如果你对基于Python的Web开发有兴趣,正打算开始学习使用Python做Web开发,或者已经是一个Web开发者有工作需要,要做自动化运维、数据的图形化展示等,那么学习一门基于Python的Web开发框架是必修课。
Python作为当前最火爆最热门,也是最主要的Web开发语言,在其二十多年的历史中出现了数十种Web框架,比如Django、Tornado、Flask、Twisted、Bottle和Web.py等,它们有的历史悠久,有的发展迅速,还有的已经停止维护。
Django:发布于2003年,是当前Python世界里最负盛名且最成熟的Web框架,最初被用来制作在线新闻的Web站点。Django的各模块之间结合得比较紧密,所以在功能强大的同时又是一个相对封闭的系统(依然是可以自定义的),但是其健全的在线文档及开发社区,使开发者在遇到问题时能找到解决办法。
Tornado:一个强大的、支持协程、高效并发且可扩展的Web服务器,发布于2009年9月,应用于FriendFeed、Facebook等社交网站。它的强项在于可以利用异步协程机制实现高并发的服务。
Flask:Python Web框架家族里比较年轻的一个,发布于2010年,它吸收了其他框架的优点并且把自己的主要领域定义在了微小项目上,以短小精干,简洁明了著称。
Twisted:一个有着十多年历史的开源事件驱动框架。它不像前三种着眼于Web应用开发,而是适用从传输层到自定义应用协议的所有类型的网络程序的开发,并能在不同的操作系统上提供很高的运行效率。但是,目前对Python3的支持有限,建议使用Python2.7。
有这么多的Web框架,我们没有那么多的精力全都学一遍,也不可能全部精通,必然要有所取舍,那么该如何选择呢?有哪些可以参考的原则呢?
以上的几条原则不一定正确和完整,但可以作为基本的选择依据,因此推荐大家从Django开始学习!作为最知名、应用最广泛、功能最全面的Django,它能够满足从大型到小型各种应用的需求,在GitHub上非常活跃,版本迭代速度也非常快,包含大量的组件和常用工具,网络上的学习和参考文章非常多,是个非常好的选择。另外,对于新手而言,Django有着完整的工具链,不需要你费脑筋去琢磨用哪个不用哪个,更适合入门。简单的比喻,如果说Flask是“DIY组装台式机”,性能优良,性价比高,自定义灵活,但是你得要知道如何搭配平台,如何组装各部件,如何更换部件等等,那么,Django就是“苹果一体机”,你不用管它内部组件是如何搭配,如何安装的,直接开机使用就好了。
想要熟练地使用Django进行Web开发,设计生产环境可用的,能够应对一定规模访问量的Web应用,开发者要学会的远远不止Django本身。Python基础、环境搭建、前端语言、API设计、网站架构、系统管理、持续集成、服务化、数据处理、并发处理等等,都是相关的知识领域,包括但不限于以下的内容:
除此之外,还要对业务有深刻理解,能够写出可维护性足够高的代码。当然,以上都是对经验丰富的开发者而言,对于新手刚入门者,我们朝着这个目标努力学习就好。
下面是基于Python的Web开发技术栈:
本教程力争在简单轻松入门的基础上,成为一部可以随时查阅的参考文档。本教程尽量使用初学者容易理解的讲述方式,在最短的时间内跨过使用程序设计语言制作网站的门槛,立刻以Django建立自己的特色网站。
教程摘自刘江的博客教程-http://www.liujiangblog.com-