python web 框架
框架通过为应用程序开发提供结构,使开发人员的生活更轻松。 它们使常见解决方案的实现自动化,从而缩短了开发时间,并使开发人员可以将更多精力放在应用程序逻辑上,而不是例程元素上。
在本文中,我们分享了我们自己的十大Python Web框架列表,我们认为这对您成为专业的后端开发人员和改善现有技能很有用。 请记住,这些框架的排列顺序不是特定的:我们专注于显示您的能力,而不是告诉您应该做什么。
在决定使用哪个框架时,请查看项目的大小和复杂性。 如果您要开发的是一个包含功能和需求的大型系统,那么全栈框架可能是正确的选择。 如果您的应用程序更小巧,更简单,那么您可能应该考虑使用微框架。
您可以在此处找到有关某些框架的类型和重点的信息。 不过,最终的决定应来自您对项目和要简化的任务的理解。
但是,框架也可以阻碍发展。 选择全栈框架时,您通常会签署一系列限制条件。 当然,您可以找到解决这些问题的方法,但是请注意,与使用纯Python编写应用程序相比,不要花更多的时间为自己的自由而战。
官方网站 | GitHub | PyPI | 太棒了
GitHub星级:31,592 | GitHub福克斯:13,361
Django是一个免费的开源全栈Python框架。 默认情况下,它尝试包含所有必需的功能,而不是将它们作为单独的库提供。
Django的一些示例性功能是其身份验证 , URL路由, 模板引擎 , 对象关系映射器 (ORM)和数据库模式迁移 (Django v.1.7 +)。
Django使用其ORM将对象映射到数据库表。 相同的代码可用于不同的数据库,从一个数据库转移到另一个数据库并不难。 Django使用的主要数据库是PostgreSQL , MySQL , SQLite和Oracle ,但是第三方驱动程序也允许您使用其他数据库。
在SteelKiwi,我们使用Django作为后端开发的主要框架。 如果您想查看我们已经使用Django开发的出色应用程序,请访问我们的项目页面。
官方网站 | GitHub | PyPI | 太棒了
GitHub星级:2,640 | GitHub福克斯:782
Pyramid是一个基于Python的开源Web应用程序框架。 其主要目标是以最小的复杂度来尽可能多地做。
Pyramid的最显着特征是它在大型和小型应用程序中都能很好地工作。 金字塔的一些出色功能包括:
官方网站 | GitHub | 聚酰亚胺
GitHub星级:230 | GitHub福克斯:56
TurboGears是一个开源的,数据驱动的全栈Web应用程序框架。
它使您可以快速开发可扩展的数据驱动的Web应用程序。 TurboGears带有用户友好的模板以及强大而灵活的ORM。
TurboGears的一些独特功能包括:
官方网站 | GitHub | 聚酰亚胺
GitHub星级:1,536 | GitHub福克斯:742
Web2py是可扩展的开源全栈Python框架。 但是,在进一步阅读之前,您应该知道Web2py不支持Python 3。
但是,Web2py的优点是它带有自己的基于Web的IDE,其中包括代码编辑器,调试器和一键式部署。
Web2py的其他重要功能包括:
官方网站 | GitHub | PyPI | 太棒了
Github星级:32,959 | GitHub福克斯:10,254
Flask是获得BSD许可的Python框架。 它的灵感来自Sinatra Ruby框架。 Flask取决于Werkzeug WSGI工具包和Jinja2模板。
Flask的主要思想是帮助建立坚实的Web应用程序基础。 从那里,您可以使用可能需要的任何扩展。
Flask的轻巧和模块化设计使其可以轻松适应开发人员的需求。 它包括许多有用的现成功能:
官方网站 | GitHub | 聚酰亚胺
GitHub星级:5,198 | GitHub福克斯:1,065
瓶子是一个微框架。 Bottle最初意在构建API,它在单个源文件中实现所有功能。 除了Python标准库外,它没有依赖项。 使用Bottle进行编码比使用任何全栈框架进行编码更接近金属。
它的默认功能包括路由,模板,实用程序以及基于WSGI标准的基本抽象。
Bottle是用于原型制作,学习Web框架的组织以及构建简单的个人应用程序的理想解决方案。
官方网站 | GitHub | 聚酰亚胺
GitHub星级:595 | GitHub福克斯:161
CherryPy是一个开放源代码的简约Web框架。 它使构建Python Web应用程序与构建任何其他面向对象的程序没有什么不同。
实际上,基于CherryPy的Web应用程序是一个独立的Python应用程序,它嵌入了自己的多线程Web服务器。 CherryPy应用程序可在支持Python的任何操作系统(Windows,macOS,Linux等)上运行。 它们可以部署在可以运行普通Python应用程序的任何位置。 CherryPy应用程序不需要Apache ,但是您可以在Apache后面运行CherryPy应用程序,就像在Lighttpd或IIS后面运行它一样。
CherryPy并不是一个非常有限的框架,因为它允许您使用任何类型的技术进行模板,数据访问等。 但是,它仍然能够处理会话,静态数据,Cookie,文件上传以及Web框架通常可以执行的所有其他操作。
官方网站 | GitHub | 聚酰亚胺
GitHub星级:8,488 | GitHub福克斯:776
Sanic是一个基于uvloop的Python Web框架,专门针对通过异步请求处理的快速HTTP响应而创建。
它可以在Python 3.5+上运行。 Sanic支持异步请求处理程序,这使其与Python 3.5的async / await函数兼容。 这提高了速度,提供了非阻塞功能。
在具有一个进程和100个连接的基准测试中,Sanic每秒能够处理33,342个请求 。
官方网站 | GitHub | 聚酰亚胺
GitHub星级:15,126 | GitHub福克斯:4,432
Tornado是一个Python Web框架和异步网络库。 它使用无阻塞网络I / O并解决了C10k问题(这意味着,如果配置正确,它可以处理10,000多个并发连接)。
这使其成为构建需要高性能和成千上万并发用户的应用程序的绝佳工具。
龙卷风的主要特点是:
官方网站 | GitHub | PyPI | 太棒了
GitHub星级:3,903 | GitHub福克斯:360
Dash是用于构建分析Web应用程序的开源Python框架。 对于对Web开发不是很熟悉的Python数据科学家来说,这尤其有用。
Dash应用程序是运行Flask并通过HTTP请求与JSON数据包通信的Web服务器。 他们的前端使用React.js渲染组件。
使用Dash开发的应用程序将在Web浏览器中呈现,并且可以部署到服务器。 这也意味着Dash应用程序本质上是跨平台的并且可以移动。
Dash开发人员可以访问基础的Flask实例及其所有可配置属性。 为了扩展Dash应用程序的功能,开发人员还可以使用丰富的Flask插件集。
正确的框架可能就是开发成功项目所需的全部。 我们真的希望您在本文中找到了一个有趣的框架。 如果您有兴趣探索更多选择,我们还有另一个,2017年的17个最佳Python Web框架 。
如果您访问了我们的公司GitHub页面,我们将非常高兴。 我们的SteelKiwi开发人员正在努力创新技术世界,参与的人越多越好。
翻译自: https://hackernoon.com/top-10-python-web-frameworks-to-learn-in-2018-b2ebab969d1a
python web 框架