推荐好用的python网站开发框架

时间: 2019-06-16阅读: 691标签: 框架

python作为解释型脚本语言,是一种通用的编程语言。由于python社区拥有大量的库文件、框架和其他的一些实用工具,我们可以用python完成各种各样的任务。另外,由于python的代码构成和结构就像英语句子一样自然,这种语言的学习曲线也比较平缓。因此和其他语言相比,好多网站开发人员更喜欢用python来确保代码的可读性。然而,python一开始被设计出来的时候,并没有特别倾向于网站开发。正是由于这个原因,我们在使用python做网站时,就不得不借助数量繁多的web开发框架。

通过大量的试验总结,我们整理了5个最实用、最好用的框架。下面让我们细细道来:


Django

排位第一的当然是Django。事实上,正是由于Django的存在,成百上千的网站项目才能成功,python才能成为网站开发中最常用的语言。包括 Instagram, Mozilla Firefox, National Geographic, Pinterest, NASA等在内的大型机构、公司,都在使用Django作为网站开发框架。

这也就是为什么对于大多数网站开发者来说,如果使用python作为开发语言,那么Django就是唯一一个最常被提及的框架。尤其是因为下面的一些特性和优点,Django CMS总是作为网站开发中最基础、最常用的管理系统:

1、有好多拿来就能直接使用的模板

2、操作数据库

3、面向对象的编程方法

4、网络地址映射

5、内置网站服务器

6、可以使用HTML表单获取数据,并传递给服务器(在Django中实现这一功能实在是太简单了,以至于菜鸟也能轻松使用)

7、安全可靠的用户权限

8、直观的管理界面

9、强大的XML/JSON处理功能

由于上面提到的这些方面,Django能够胜任各种大型网站项目。你对这个框架心动了吗?如果没有,那我们看下一个。


CherryPy

CherryPy是仅次于Django的网站开发框架,它最大的特性就是能够同时运行好几个web服务。Django和CherryPy最大的区别在于,后者没有像前者那样多的模板,而是提供可以导入的库文件。事实上,这种方式给开发者以很大的自由度和扩展性,程序员可以自由的选择使用或者禁用各种模板、用户权限和数据库。

除此之外,CherryPy事实上是一个基于Python的简约而不简单的HTTP框架,允许和所有类型的服务器(如Apache等)进行交互。如果你是刚刚接触网站开发,一定要记住在项目中最好形成一套自己用着顺手的工具集合(我们应该清楚地知道,CherryPy具有灵活强大的插件系统)。


TurboGears

TurboGears是一种MVC架构的网站开发框架,它基于一些WSGI组件(比如SQLAlchemy, Ming, Repoze等)、模板引擎( Genshi, Kajiki, Cheetah, Myghty)和大量的库文件以及中间件(middleware)。同时它具有 widgets控件,可以非常方便的生成一些特定的功能。

TurboGears的主要特色是:用FormEncode进行表单验证;使用 Gearbox作为项目管理工具,并提供网络服务(新的版本也支持使用Apache或者Nginx作为服务器);许多实用的命令行工具;支持MochiKit模块,一种处理文本内容的genshi模板引擎,同时包含创建UI和Tosca Widgets的库文件。这些常用功能给程序员带来的方便,是其他框架所不能替代的。还有一点——许多使用TurboGears的程序员都会推荐它的精简模式,也就是说,TurboGears可以配置成最轻量级的框架。


Flask

Flask是一个相当新的框架,他的开发者在深入彻底的研究了现有的各种框架后,分析了它们利弊,在此基础上开发出了这一个取所有精华,去所有糟粕的web框架。

Flask是一个轻量级框架,简单易学,它在一些仅有一两个功能的小型项目上得到了大量应用。比如httpbin这样的项目,简单但非常强大。跟CherryPy差不多,支持所有的DBMS和模板引擎。Flask的优势在于拥有众多的扩展工具来创建基于网站的应用(应当鼓励初学者多使用这些工具),它的代码同样简洁明了(只要3行代码就能搭建一个显示“Hello World”的主页),通过蓝图(blueprint)实现模块化管理,支持Django官方模板语言Jinja2,能够创建基于API的方案和一次性工具(用其他框架实现这些功能的话,既费时又费力)。


Pyramid

我们提到的最后一个框架是Pyramid,它由Pylons项目中的一部分演变而来。Pyramid最大的特点就是灵活性和可扩展性(尤其和Django相比)。在使用Pyramid时,程序员可以自由的选择使用什么样的数据库、URL结构、模板风格等等,正如这个框架的开发者所说:

“那些重量级的框架都在替用户做决定。但是如果这些不适合你,你也无可奈何;轻量级的框架不替你做决定,你可以很快的上手。但是随着你的网站越做越大,你就会发现小框架限制了你的大项目。上面这两种情况,都是只关注项目的开始阶段:不是太大就是太小,换句话说,在项目刚开始的时候,你并不能真正的预测到项目后期会有多大、功能会有多复杂。你需要一个注重网站后期开发的框架,这样不管你的项目后期是大是小,它都能很好地满足你的需求。Pyramid就是这样一个框架,可大可小,刚刚好。”

使用Pyramid,可以不费劲的利用SQLAI创建传统的RDBMS应用。和Flask一样,Pyramid支持多种类型的模板语言和引擎,包括Jinja2和Mako,而且它自己也内置有解决方案。甚至,它还兼容Chameleon——一个便捷的、通用的ZPT模板工具。

Pyramid被大家广泛认可的优点包括:可以将一个完整的网站生成一个单一的文件;可以修改的模板;可配置的资源;灵活的身份验证和授权;高级的引导工具——pcreate;基于view的方法;支持命令型和陈述型的配置语法;HTTP缓存;内建Session会话等等。一般而言,Pyramid是目前最流行的构建大中小型应用的框架。另一方面,正是由于这么强大的灵活性,可能会让一些有选择困难症的初学者纠结于使用哪些功能,如果选择不好,可能会掉进一个又一个的坑里去。


选择Python web框架:怎样避免错误的选择

让我们总结一下。正如你所看到的,我们在选择合适的框架时,应该是依据自身的需求和项目的特点,量体裁衣。对于上面的几个框架,我都一视同仁,我并不坚持认为哪一个更好或者更差。



链接: http://www.fly63.com/article/detial/3744

请停止学习框架

我们都是程序员,我们需要与技术保持同步。每一天我们都要学习编程语言、框架与库。我们了解的现代开发工具越多越好,比如Angular,React,Riot,Vue,Ember,Knockout

前端哪些前端框架技术有前景?

前端什么技术越来越重要?哪些前端框架有前景?近年来,Web前端市场前景火爆吸引了很多人加入其中,“低端饱和、高端紧缺”的市场行情要求人们不断提升自己的专业技能。

移动应用框架之战:原生、混合、跨平台!

近年来,智能手机用户数量大幅增加,数字达到数十亿。 因此,许多企业现在希望为其客户及其现有网站开发移动应用程序,因为大多数人都在使用他们的智能手机执行各种日常办公任务。

你对JavaScript掌握多少?讲解Js框架结构

对于任何一个程序员来说,最关注的两个问题无非就是:时间复杂度和空间复杂度。第一部分介绍了 V8 为改进 JavaScript 执行时间所做的速度提升和优化,第二部分则将着重介绍内存管理方面的知识。

Vue适用于移动端的ui框架

Vue 是一个轻巧、高性能、可组件化的MVVM库,API简洁明了,上手快。从Vue推出以来,得到众多Web开发者的认可。在公司的Web前端项目开发中,多个项目采用基于Vue的UI组件框架开发,并投入正式使用

最流行的七个 PHP Web 框架

PHP 代表超文本预处理器(Hypertext Pre-processor)。早期的 PHP 被用于个人主页,然后才升级更新为超文本预处理器。PHP 是一种服务器端脚本语言,用于开发静态或动态网站和 Web 应用程序。为什么要使用 PHP 进行服务器端编程?

十种Web开发的Node.JS框架

众所周知,Node.js能够通过提供不同的框架,使得Web应用程序的开发过程更为方便且高效。下面让我们来一起浏览一下,目前能够加速Web开发的十种Node.JS框架。

Java 五大框架之间的对比

大部分项目都少不了spring的身影,为什么大家对他如此青睐,而且对他的追捧丝毫没有减退之势呢?Spring是一个轻量级的DI和AOP容器框架。说它轻量级有一大部分原因是相对与EJB的(虽然本人从没有接触过EJB的应用)

css基本知识框架图

css样式表的基本概念;样式表基本类型-----1.内嵌样式 2.内联样式3.链入外部样式表4.导入外部样式;字体属性;文本属性----1.text-align(5种属性justify,inherit)

Nodejs之使用express框架搭建WEB应用

首先创建一个index.js,在里面引入相关的中间件,如果没有这些中间件,则需要在nodejs里进入index.js所在的文件夹安装这些模块,安装命令:npm install express express-static cookie cookie-session body-parser multer mysql

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全