通过为开发人员提供应用程序开发结构,框架使开发人员的生活更轻松。他们自动执行通用解决方案,缩短开发时间,并允许开发人员更多地关注应用程序逻辑而不是常规元素。

在本文中,我们分享了我们自己的前十大Python Web框架列表,我们认为这些列表对于您成为专业后端开发人员以及改进现有技能集的方式将会非常有用。请记住,这些框架并没有按照特定的顺序排列:我们专注于展示你能做什么,而不是告诉你应该做什么。

有些事情要考虑

在决定使用哪个框架时,请查看项目的规模和复杂程度。如果您希望开发的是一个包含功能和需求的大型系统,那么全栈框架可能是正确的选择。如果你的应用在更小和更简单的一面,你应该考虑一个微框架。

你可以找到一些框架的种类和焦点信息在这里。但是,最终的决定应该来自您对项目的理解以及您想要简化的任务。

但是,框架也可能阻碍发展。在选择全栈框架时,您经常注册一组限制。当然,你可以找到解决这些问题的方法,但要小心,不要花更多的时间来争取自己的自由,而是要用纯Python编写应用程序。

全堆栈框架

Django是一个免费的开源全栈Python框架。它试图默认包含所有必要的功能,而不是将它们作为单独的库提供。

Django的一些示例性功能是它的身份验证,URL路由,,对象关系映射器(ORM)和数据库模式迁移(Django v.1.7 +)。

Django使用它的ORM将对象映射到数据库表。相同的代码适用于不同的数据库,并不难从一个数据库转移到另一个数据库。Django使用的主要数据库是PostgreSQL,MySQL,SQLite和Oracle,但第三方驱动程序也允许您使用其他数据库。

在SteelKiwi,我们使用Django作为后端开发的主要框架。如果您想看看我们已经使用Django开发的惊人的应用程序,请访问我们的项目页面。

Pyramid是一个开源的基于Python的Web应用程序框架。其主要目标是尽可能以最小的复杂性进行操作。

金字塔最显着的特点是它能够同时适用于小型和大型应用程序。金字塔的一些很棒的功能包括:

单文件应用程序

全面支持模板和资产规范

灵活的认证和授权

,支持和全面的数据文档

和许多每个路由视图

TurboGears是一个开源的,数据驱动的全栈Web应用程序框架。

它允许您快速开发可扩展的数据驱动的Web应用程序。TurboGears配备了用户友好的模板和强大灵活的ORM。

TurboGears的一些独特功能包括:

多数据库支持

MVC风格的架构

支持SQLObject和SQLAlchemy

和Genshi包含在首选的模板语言中

使用FormEncode进行验证

作为网络服务器的塔

一个简化前端设计和服务器开发协调的应用程序库

模板

面向前端的基于WSGI的服务器(粘贴HTTP服务器,CherryPy WSGI / HTTP服务器等)

命令行工具

集成

所有功能都作为函数装饰器实现

Web2py是一个可扩展的开源全栈Python框架。但是,在进一步阅读之前,您应该知道Web2py不支持Python 3。

不过,Web2py的优点在于它配备了自己的基于Web的IDE,其中包括代码编辑器,调试器和一键式部署。

其他有价值的Web2py功能包括:

没有安装和配置要求

能够在Windows,Mac,Linux / Unix,Google App Engine,Amazon EC2以及任何支持Python 2.5-2.7或Java + Python的虚拟主机上运行

多种协议的可读性

数据安全可防止跨站点脚本,注入漏洞和恶意文件执行等漏洞

成功使用软件工程实践,使代码易于阅读和维护

错误跟踪,彻底的错误记录和票务

支持国际化

向后兼容性确保以用户为导向,而不需要失去与早期版本的联系

Flask是一个在BSD许可下可用的Python框架。它受到了Sinatra Ruby框架的启发。Flask依赖于Werkzeug WSGI工具包和Jinja2模板。

Flask背后的主要思想是帮助构建坚实的Web应用程序基础。从那里,你可以使用任何你可能需要的扩展。

Flask的轻量化和模块化设计使其能够轻松适应开发人员的需求。它包含许多有用的开箱即用功能:

内置开发服务器和快速调试器

集成支持单元测试

安全的Cookie支持(客户端会话)

WSGI 1.0合规性

基于Unicode

能够插入任何ORM

HTTP请求处理

瓶子是一个微框架。Bottle最初意味着构建API,它将所有内容都实现在一个源文件中。除了Python标准库之外,它没有任何依赖关系。使用Bottle进行编码可以让您更接近金属而不是使用任何全栈框架进行编码。

其默认功能包括路由,模板,实用程序以及WSGI标准的基本抽象。

路由 - 支持对函数调用映射的请求,使您可以实现干净和动态的URL

模板 - 快速和Pythonic 开箱即用,全面支持mako,jinja2和猎豹

实用程序 - 舒适地访问表单数据,文件上传,Cookie,标题和其他与HTTP相关的元数据

服务器-支持一个内置的HTTP开发服务器fapws3,比约恩,GAE,СherryPy,以及任何其他WSGI能力的HTTP服务器

Bottle是原型开发,学习Web框架组织以及构建简单个人应用的完美解决方案。

CherryPy是一个开源,极简主义的Web框架。它使构建Python Web应用程序与构建任何其他面向对象的程序无异。

事实上,CherryPy支持的网络应用程序是一个独立的Python应用程序,它嵌入了自己的多线程网络服务器。CherryPy应用程序可在任何支持Python的操作系统上运行(Windows,MacOS,Linux等)。它们可以部署在任何可以运行普通Python应用程序的地方。CherryPy应用程序不需要Apache,但是您可以在Apache后面运行CherryPy应用程序,以及在Lighttpd或IIS后面运行它。

CherryPy不是一个非常有限的框架,因为它允许您使用任何类型的技术进行模板化,数据访问等。但是,它仍然能够处理会话,静态,Cookie,文件上传以及web框架通常可以执行的其他任何操作。

一些默认的CherryPy功能包括:

一个HTTP / 1.1兼容WSGI线程池网络服务器

简单一次运行多个HTTP服务器

一个强大的配置系统

一个灵活的插件系统

出的现成的工具缓存,编码,会话,认证,静态内容,并等

内置支持分析,覆盖和测试

能够在Python 2.7+,Python 3.1+,PyPy,Jython和Android上运行

异步框架

Sanic是一个构建在uvloop上的Python Web框架,专门为通过异步请求处理的快速HTTP响应而创建。

它运行在Python 3.5+上。Sanic支持异步请求处理程序,这使它与Python 3.5的异步/等待函数兼容。这提高了速度,提供了非阻塞功能。

在一个进程和100个连接的基准测试中,Sanic每秒能够处理33,342个请求。

Tornado是一个Python Web框架和异步网络库。它使用非阻塞网络I / O并解决C10k问题(意思是说,如果配置正确,它可以处理10,000多个并发连接)。

这使它成为构建需要高性能和数万并发用户的应用程序的理想工具。

龙卷风的主要特点是:

内置的用户认证支持

实时服务

高品质的性能

基于Python的网页模板语言

非阻塞HTTP客户端

实施第三方认证和授权计划(Google OpenID / OAuth,Facebook登录,雅虎BBAuth,FriendFeed OpenID / OAuth,)

支持翻译和本土化

其他

Dash是一个开源Python框架,用于构建分析型Web应用程序。对于不熟悉Web开发的Python数据科学家来说,这尤其有利。

Dash应用程序是运行并通过HTTP请求与JSON数据包进行通信的Web服务器。他们的前端使用呈现组件

使用Dash开发的应用程序在Web浏览器中呈现,并可以部署到服务器。这也意味着Dash应用程序本质上是跨平台和移动就绪的。

Dash开发人员可以访问底层Flask实例及其所有可配置属性。为了扩展Dash应用程序的功能,开发人员还可以使用一套丰富的

选择一个Python Web框架

正确的框架可能是您开发一个成功项目所需的一切。我们真的希望你在本文中找到了一个有趣的框架。如果您有兴趣探索更多选项。

另外,欢迎私信小编交流 Python 的学习经验哦

2018年要学习的10大Python Web框架的更多相关文章

  1. “脚踢各大Python Web框架”,Sanic真有这能耐么?

    在Github上,Sanic第一句介绍语就是: "Sanic is a Flask-like Python 3.5+ web server that's written to go fast ...

  2. python三大web框架Django,Flask,Flask,Python几种主流框架,13个Python web框架比较,2018年Python web五大主流框架

    Python几种主流框架 从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python We ...

  3. Django,Flask,Tornado三大框架对比,Python几种主流框架,13个Python web框架比较,2018年Python web五大主流框架

    Django 与 Tornado 各自的优缺点Django优点: 大和全(重量级框架)自带orm,template,view 需要的功能也可以去找第三方的app注重高效开发全自动化的管理后台(只需要使 ...

  4. python web框架介绍对比

    Django Python框架虽然说是百花齐放,但仍然有那么一家是最大的,它就是Django.要说Django是Python框架里最好的,有人同意也有人 坚决反对,但说Django的文档最完善.市场占 ...

  5. python web框架——扩展Django&tornado

    一 Django自定义分页 目的:自定义分页功能,并把它写成模块(注意其中涉及到的python基础知识) models.py文件 # Create your models here. class Us ...

  6. 浅谈Python web框架

    一.Python web框架 Web Framework,Ruby的世界Rails一统江湖,而Python则是一个百花齐放的世界,各种micro-framework.framework不可胜数,不完全 ...

  7. 6 大主流 Web 框架优缺点对比:15篇前端热文回看

    摘自:http://blog.csdn.net/VhWfR2u02Q/article/details/78993079 注:以下文章,点击标题即可阅读 <6 大主流 Web 框架优缺点对比> ...

  8. Python Web框架本质——Python Web开发系列一

    前言:了解一件事情本质的那一瞬间总能让我获得巨大的愉悦感,希望这篇文章也能帮助到您. 目的:本文主要简单介绍Web开发中三大基本功能:Socket实现.路由系统.模板引擎渲染. 进入正题. 一. 基础 ...

  9. 一步一步理解 python web 框架,才不会从入门到放弃

    要想清楚地理解 python web 框架,首先要清楚浏览器访问服务器的过程. 用户通过浏览器浏览网站的过程: 用户浏览器(socket客户端) 3. 客户端往服务端发消息 6. 客户端接收消息 7. ...

随机推荐

  1. mysql 聚集函数 count 使用详解

    mysql 聚集函数 count 使用详解 本文将探讨以下问题 1.count(*) . count(n).count(null)与count(fieldName) 2.distinct 与 coun ...

  2. 这可能是 Github 上最全面的 Flutter 教程

    引语 晚上好,我是猫咪,我的公众号「程序媛猫咪」会推荐 GitHub 上好玩的项目,挖掘开源的价值,欢迎关注我. 刚下班到家,金三银四,虽然今天行情尤其地不好,但身边的同事也是走了一波,不免会受到影响 ...

  3. 如何使用npt结合crontab实现集群之间的时间同步

    当我们每个机器的时间都不一致时,假如有一个定时任务,定的10点启动执行.结果namenode十点了启动任务,可是分配到的执行节点DataNode才九点五十导致任务执行失败怎么办?这就需要将机器之间的时 ...

  4. mysql截取函数常用方法 即mysql 字符串 截取-- - 最后带上java字符串截取规则比较

    常用的mysql截取函数有:left(), right(), substring(), substring_index() 下面来一一说明一下: 1.左截取left(str, length) 说明:l ...

  5. IDEA我常用的快捷键

    IDEA快捷键 全屏编写代码:Ctrl+Shift+F12

  6. Linux/UNIX 下终端复用利器 tmux

    简介 tmux 是一个终端复用器类自由软件,功能类似 GNU Screen,但使用 BSD 许可发布.用户可以通过 tmux 在一个终端内管理多个分离的会话,窗口及面板,对于同时使用多个命令行,或多个 ...

  7. IE各版本CSS Hack(兼容性处理)语法速查表

    为了兼容IE各个版本,需要在CSS中添加额外的代码,比如以前常用的_width.之所以工作,是因为浏览器会忽略不能解析的样式规则,因此举个例子来说,把_width写在width下面,对于非IE浏览器会 ...

  8. 面试问了解Linux内存管理吗?10张图给你安排的明明白白!

    文章每周持续更新,各位的「三连」是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 今天来带大家研究一下Linux内存管理.对于精通 CURD 的业务同学 ...

  9. Daily Scrum 12/14/2015

    Progress: Dong&Minlong: 基于Oxford Speech API成功实现语音输入的功能,但由于服务器存在访问次数的限制(每分钟6次),所以暂不准备将此功能加入ALPHA版 ...

  10. D - Romantic

    The Sky is Sprite. The Birds is Fly in the Sky. The Wind is Wonderful. Blew Throw the Trees Trees ar ...