4007654355
NEWS
网站建设、网站制作、网站设计等相关资讯

2018年最好用的5个python网站开发框架

日期:2024-04-01 访问:948次 作者:admin

Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。

python作为解释型脚本语言,是一种通用的编程语言。由于python社区拥有大量的库文件、框架和其他的一些实用工具,我们可以用python完成各种各样的任务。另外,由于python的代码构成和结构就像英语句子一样自然,这种语言的学习曲线也比较平缓。因此和其他语言相比,好多网站开发人员更喜欢用python来确保代码的可读性。

然而,python一开始被设计出来的时候,并没有特别倾向于网站开发。正是由于这个原因,我们在使用python做网站时,就不得不借助数量繁多的web开发框架。在这篇文章里,我们聊一聊2018年将会流行的web框架。

最实用的框架列表:我们总结的5个

通过大量的试验总结,我们整理了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框架:怎样避免错误的选择

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

如果你想开发一款网络应用,却不知道选择哪一个合适的框架,最好的方法是找一些有经验的人请教。当然,你也可以联系我们。

英文原文:https://webcase.studio/blog/best-python-frameworks/?utm_source=catalogs&utm_campaign=python 译者:bird


标签:



相关文章: 精选友情链接,快速直达好友网站  淘宝密码忘了吗?怎么快速找回?  小红书群聊退群方法是什么?  淘宝旺铺价格多少?购买流程详解?  博实股份:公司进行机器人系统的研发、设计、制造和系统集成应用,机器人核心控制算法程序为自主开发2011年农妇锤杀丈夫,在炕上直接分解,几十人在院里吃席毫无察觉  AI赋能,高效优质内容创作  凯里SEO优化,高效价格透明  邵阳SEO,湖南专业服务,价格透明!  线上推广渠道大盘点  SEO优化,细节决定成败  互鼎科技:物联网SEO推广领航者  京搜霸主SEO  搜索排名关键因素揭秘  长尾效应:小众市场创造大商机;二八定律:关键少数决定大局  “优个网,正品保障!”  沉浸式消费体验  2025年淘宝小卖家还能盈利吗?  网站排名飞跃,脱颖而出,快速收录秘籍!  网站秒速启航  关于聘请招标代理公司选定第三方机构提供网络技术服务公开比价的公告  确认收货步骤简,收货退款一键行。  便民服务网络推广方式,便民服务信息发布网站大全  多渠道营销,精准触达,高效转化  互联网产品运营应做什么  技术优化是网站灵魂,效果提升有妙招  “整站SEO优化,快速提升网站排名”  域名申请神器,一秒免费领!  国内AI写作神器,效率与质量双提升!  抖音上如何开启直播呢?  天猫店铺交易平台有哪些?买卖流程是怎样的?  潜江SEO专家,首选品牌!  百度SEO关键词快速上排名秘笈  857工作制意思是什么  郴州网推先锋站  SEO神翼大鹏术  手机淘宝能否开设店铺呢?  轻松提升网站排名,快速上位攻略!  南昌小红书SEO关键词优化价格是多少?  视频号流量券怎么正确使用?  创新宣传,一语惊人!  AI赋能创作,内容变现梦启航  厦门SEO精优设计,高效提升排名  推广费重实效,广告费广传播  酒店pms是什么意思啊  百度爱采购,登录后如何快速找到心仪货源?,招商网站建设内容  揭秘核心关键词,你了解多少?,服务类营销推广视频  奥运金牌榜:中国领跑,谁将挑战霸主地位?,人才引进校园推介会推广营销方案  网络营销崛起,源于技术革新与市场需求  抖音视频怎么上传不成功呢?  SEO高手速成营 

豪情圣贤互联网技术服务 豪情圣贤互联网技术服务 豪情圣贤互联网技术服务 豪情圣贤互联网技术服务 豪情圣贤互联网技术服务 豪情圣贤互联网技术服务 豪情圣贤互联网技术服务 豪情圣贤互联网技术服务 豪情圣贤互联网技术服务 豪情圣贤网络服务 豪情圣贤网络服务 豪情圣贤网络服务 豪情圣贤科技 豪情圣贤科技 豪情圣贤科技