pythonweb框架性能(Python的代表性Web框架有哪些?)

1.Python的代表性Web框架有哪些?

对初学者来说,循序渐进是最重要的,我推荐学习 Flask(Welcome | Flask (A Python Microframework))

Flask 很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。

Flask 框架学会以后,可以考虑学习插件的使用。例如使用 WTForm + Flask-WTForm 来验证表单数据,用 SQLAlchemy + Flask-SQLAlchemy 来对你的数据库进行控制。

BTW:果壳网基于 Flask 开发的。

另外也简单介绍下其他框架:

1.

Django。如楼上所说,是一个全能型框架。目前 Django

的使用面还是很广的,有学习的价值,但是不建议初学者学习,因为要学习的东西太多了,一下子难以吸收会失去兴趣。当然,Django

的目的是为了让开发者能够 快速 地开发一个网站,它提供了很多模块,其中我最喜欢的就是 admin 模块,

就进入了网站的后台(内置的哦~)方便地对数据进行操作,等等。。。。因此,如果对 Django 熟悉的话,papapa

一下子就写好一个网站的原型了。

2. Tornado。传说中性能高高的框架。Tornado

是一个很好的框架,支持异步处理的功能,这是它的特点,其他框架不支持。另外一点是,Tornado 的设计似乎更注重 RESTful URL。但

Tornado 提供了网站基本需要使用的模块外,剩下的则需要开发者自己进行扩展。例如数据库操作,虽然内置了一个 database

的模块(后来独立出去了,现在叫做 torndb,bdarnell/torndb · GitHub)但是不支持

ORM,快速开发起来还是挺吃力的。如果需要 ORM 支持的话,还需要自己写一层将 SQLAlchemy 和 Tornado

联系起来,而且这里还有一个坑。

pythonweb框架性能对比,Python的web框架,Pythonweb开发框架

2.编程语言Python有哪些好的Web框架?

Python web五大主流框架:

1.Django

Django是一个开源的Web应用框架,由Python写成,支持许多数据库引擎,可以让Web开发变得迅速和可扩展,并会不断的版本更新以匹配Python最新版本,如果是新手程序员,可以从这个框架入手。

2.Flask

Flask是一个轻量级的Web应用框架, 使用Python编写。基于 WerkzeugWSGI工具箱和 Jinja2模板引擎。使用 BSD 授权。

Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功 能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。

3.Web2py

Web2py是一个用Python语言编写的免费的开源Web框架,旨在敏捷快速的开发Web应用,具有快速、可扩展、安全以及可移植的数据库驱动的应用,遵循LGPLv3开源协议。

Web2py提供一站式的解决方案,整个开发过程都可以在浏览器上进行,提供了Web版的在线开发,HTML模版编写,静态文件的上传,数据库的编写的功能。其它的还有日志功能,以及一个自动化的admin接口。

4.Tornado

Tornado即是一个Web server(对此本文不作详述),同时又是一个类web.py的micro-framework,作为框架Tornado的思想主要来源于Web.py,大家在Web.py的网站首页也可以看到Tornado的大佬Bret Taylor的这么一段话(他这里说的FriendFeed用的框架跟Tornado可以看作是一个东西):

“[web.py inspired the] Web framework we use at FriendFeed [and] the webapp framework that ships with App Engine…”

因为有这层关系,后面不再单独讨论Tornado。

5.CherryPy

CherryPy是一种用于Python的、简单而非常有用的Web框架,其主要作用是以尽可能少的操作将Web服务器与Python代码连接,其功能包括内置的分析功能、灵活的插件系统以及一次运行多个HTTP服务器的功能,可与运行在最新版本的Python、Jython、Android上。

框架,性能,pythonweb

3.Python 有哪些好的 Web 框架

以下是伯乐在线从GitHub中整理出的15个最受欢迎的Python开源框架。

这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等。 Django: Python Web应用开发框架 Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响。

Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。 Diesel:基于Greenlet的事件I/O框架 Diesel提供一个整洁的API来编写网络客户端和服务器。

支持TCP和UDP。 Flask:一个用Python编写的轻量级Web应用框架 Flask是一个使用Python编写的轻量级Web应用框架。

基于Werkzeug WSGI工具箱和Jinja2 模板引擎。Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。

Flask没有默认使用的数据库、窗体验证工具。 Cubes:轻量级Python OLAP框架 Cubes是一个轻量级Python框架,包含OLAP、多维数据分析和浏览聚合数据(aggregated data)等工具。

Kartograph.py:创造矢量地图的轻量级Python框架 Kartograph是一个Python库,用来为ESRI生成SVG地图。Kartograph.py目前仍处于beta阶段,你可以在virtualenv环境下来测试。

Pulsar:Python的事件驱动并发框架 Pulsar是一个事件驱动的并发框架,有了pulsar,你可以写出在不同进程或线程中运行一个或多个活动的异步服务器。 Web2py:全栈式Web框架 Web2py是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速、安全以及可移植的数据库驱动的应用,兼容Google App Engine。

Falcon:构建云API和网络应用后端的高性能Python框架 Falcon是一个构建云API的高性能Python框架,它鼓励使用REST架构风格,尽可能以最少的力气做最多的事情。 Dpark:Python版的Spark DPark是Spark的Python克隆,是一个Python实现的分布式计算框架,可以非常方便地实现大规模数据处理和迭代计算。

DPark由豆瓣实现,目前豆瓣内部的绝大多数数据分析都使用DPark完成,正日趋完善。 Buildbot:基于Python的持续集成测试框架 Buildbot是一个开源框架,可以自动化软件构建、测试和发布等过程。

每当代码有改变,服务器要求不同平台上的客户端立即进行代码构建和测试,收集并报告不同平台的构建和测试结果。 Zerorpc:基于ZeroMQ的高性能分布式RPC框架 Zerorpc是一个基于ZeroMQ和MessagePack开发的远程过程调用协议(RPC)实现。

和 Zerorpc 一起使用的 Service API 被称为 zeroservice。Zerorpc 可以通过编程或命令行方式调用。

Bottle: 微型Python Web框架 Bottle是一个简单高效的遵循WSGI的微型python Web框架。说微型,是因为它只有一个文件,除Python标准库外,它不依赖于任何第三方模块。

Tornado:异步非阻塞IO的Python Web框架 Tornado的全称是Torado Web Server,从名字上看就可知道它可以用作Web服务器,但同时它也是一个Python Web的开发框架。最初是在FriendFeed公司的网站上使用,FaceBook收购了之后便开源了出来。

webpy: 轻量级的Python Web框架 webpy的设计理念力求精简(Keep it simple and powerful),源码很简短,只提供一个框架所必须的东西,不依赖大量的第三方模块,它没有URL路由、没有模板也没有数据库的访问。 Scrapy:Python的爬虫框架 Scrapy是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便。

4.Python 有哪些好的 Web 框架

python的web框架很多

django (大而全,模板,orm都自带)

flask (pocoo出品,比属精品,自带jinja2模板,可以替换)

web.py (这个我没用过,作者自杀,白瞎了一个高手)

bottle (只有一个文件的框架,需要自己构建整个开发体系)

uliweb (中国人开发的,也很不错)

Tornado (异步框架,适合长连接,比如在线聊天之类的)

Python框架虽然说是百花齐放,但仍然有那么一家是最大的,它就是Django。Django为人所称道的地方主要有:

①完美的文档,Django的成功,我觉得很大一部分原因要归功于Django近乎完美的官方文档(包括Django book)。

全套的解决方案,Django象Rails一样,提供全套的解决方案(full-stack framework + batteries

included),基本要什么有什么(比如:cache、session、feed、orm、geo、auth),而且全部Django自己造,开发网

站应手的工具Django基本都给你做好了,因此开发效率是不用说的,出了问题也算好找,不在你的代码里就在Django的源码里。

③强大的URL路由配置,Django让你可以设计出非常优雅的URL,在Django里你基本可以跟丑陋的GET参数说拜拜。

④自助管理后台,admin interface是Django里比较吸引眼球的一项contrib,让你几乎不用写一行代码就拥有一个完整的后台管理界面。

5.python web开发框架哪个好

以下是伯乐在线从GitHub中整理出的15个最受欢迎的Python开源框架。

这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等。 Django: Python Web应用开发框架 Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响。

Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。 Diesel:基于Greenlet的事件I/O框架 Diesel提供一个整洁的API来编写网络客户端和服务器。

支持TCP和UDP。 Flask:一个用Python编写的轻量级Web应用框架 Flask是一个使用Python编写的轻量级Web应用框架。

基于Werkzeug WSGI工具箱和Jinja2 模板引擎。Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。

Flask没有默认使用的数据库、窗体验证工具。 Cubes:轻量级Python OLAP框架 Cubes是一个轻量级Python框架,包含OLAP、多维数据分析和浏览聚合数据(aggregated data)等工具。

Kartograph.py:创造矢量地图的轻量级Python框架 Kartograph是一个Python库,用来为ESRI生成SVG地图。Kartograph.py目前仍处于beta阶段,你可以在virtualenv环境下来测试。

Pulsar:Python的事件驱动并发框架 Pulsar是一个事件驱动的并发框架,有了pulsar,你可以写出在不同进程或线程中运行一个或多个活动的异步服务器。 Web2py:全栈式Web框架 Web2py是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速、安全以及可移植的数据库驱动的应用,兼容Google App Engine。

Falcon:构建云API和网络应用后端的高性能Python框架 Falcon是一个构建云API的高性能Python框架,它鼓励使用REST架构风格,尽可能以最少的力气做最多的事情。 Dpark:Python版的Spark DPark是Spark的Python克隆,是一个Python实现的分布式计算框架,可以非常方便地实现大规模数据处理和迭代计算。

DPark由豆瓣实现,目前豆瓣内部的绝大多数数据分析都使用DPark完成,正日趋完善。 Buildbot:基于Python的持续集成测试框架 Buildbot是一个开源框架,可以自动化软件构建、测试和发布等过程。

每当代码有改变,服务器要求不同平台上的客户端立即进行代码构建和测试,收集并报告不同平台的构建和测试结果。 Zerorpc:基于ZeroMQ的高性能分布式RPC框架 Zerorpc是一个基于ZeroMQ和MessagePack开发的远程过程调用协议(RPC)实现。

和 Zerorpc 一起使用的 Service API 被称为 zeroservice。Zerorpc 可以通过编程或命令行方式调用。

Bottle: 微型Python Web框架 Bottle是一个简单高效的遵循WSGI的微型python Web框架。说微型,是因为它只有一个文件,除Python标准库外,它不依赖于任何第三方模块。

Tornado:异步非阻塞IO的Python Web框架 Tornado的全称是Torado Web Server,从名字上看就可知道它可以用作Web服务器,但同时它也是一个Python Web的开发框架。最初是在FriendFeed公司的网站上使用,FaceBook收购了之后便开源了出来。

webpy: 轻量级的Python Web框架 webpy的设计理念力求精简(Keep it simple and powerful),源码很简短,只提供一个框架所必须的东西,不依赖大量的第三方模块,它没有URL路由、没有模板也没有数据库的访问。 Scrapy:Python的爬虫框架 Scrapy是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便。

6.如何用Python写一个web框架

STEP.1 我们首先得选择基于什么协议来写这种框架。

我们可以选择CGI协议,或者是WSGI接口。如果使用CGI,实际上我们只是按着CGI的规范写了一个python程序,然后每次服务器收到请求,就fork一个程序来执行它,然后返回一个 = f.read() if(rep!=0): for to_replace in rep: strinfo = re.compile('\{\%\s*'+str(to_replace)+'\s*\%\}') html = strinfo.sub(rep[to_replace],html) return html STEP.5 POST数据的处理 要想获取POST数据,我们得通过environ['wsgi.input']来处理。而他实际上就是系统的标准输入。

environ['wsgi.input'] = sys.stdin 知道这点后就很好写了。 def getPost(self): if(self.environ['REQUEST_METHOD'] == 'POST'): try: request_body_size = int(self.environ.get('CONTENT_LENGTH', 0))#读出content_length的值 except: request_body_size = 0 request_body = self.environ['wsgi.input'].read(request_body_size) #请求的body post_data = parse_qs(request_body)#parse_qs是cgi提供的方法,帮助我们处理请求 return post_data 数据库的链接import MySQLdbclass Model(object): def __init__(self): self.host = 'localhost' self.port = 3306 self.user = 'admin' self.passwd = 'admin' self.db = 'xieyi' def build_connect(self): self.conn = MySQLdb.connect( host = self.host, port = self.port, user = self.user, passwd = self.passwd, db = self.db ) def exec_ins(self,ins): cur = self.conn.cursor() num = cur.execute(ins) info = {} if(num>0): info = cur.fetchmany(num) cur.close() self.conn.commit() return info def close(self): self.conn.close() STEP.6 清理工作 很多配置如果放到代码中,会增加阅读负担。

于是把urls,model抽取出来。使得配置更加方便。

7.python web开发 该用什么框架

作对初学者来说,循序渐进是最重要的,我推荐学习 Flask(Welcome | Flask (A Python Microframework))

Flask 很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。

Flask 框架学会以后,可以考虑学习插件的使用。例如使用 WTForm + Flask-WTForm 来验证表单数据,用 SQLAlchemy + Flask-SQLAlchemy 来对你的数据库进行控制。

BTW:果壳网基于 Flask 开发的。

另外也简单介绍下其他框架:

1. Django。如楼上所说,是一个全能型框架。目前 Django 的使用面还是很广的,有学习的价值,但是不建议初学者学习,因为要学习的东西太多了,一下子难以吸收会失去兴趣。当然,Django 的目的是为了让开发者能够 快速 地开发一个网站,如果对 Django 熟悉的话,papapa 一下子就写好一个网站的原型了。

2. Tornado。传说中性能高高的框架。Tornado 是一个很好的框架,支持异步处理的功能,这是它的特点,其他框架不支持。另外一点是,Tornado 的设计似乎更注重 RESTful URL。但 Tornado 提供了网站基本需要使用的模块外,剩下的则需要开发者自己进行扩展。例如数据库操作,虽然内置了一个 database 的模块(后来独立出去了,现在叫做 torndb,bdarnell/torndb · GitHub)但是不支持 ORM,快速开发起来还是挺吃力的。如果需要 ORM 支持的话,还需要自己写一层将 SQLAlchemy 和 Tornado 联系起来,而且这里还有一个坑。BTW:知乎就是基础 Tornado 开发的。

3. Bottle。Bottle 和 Flask 都属于轻量级的 Web 框架。但是 Bottle 似乎落寞了。我觉得跟他的 API 设计有关系。个人认为 Bottle 使用起来不那么顺手,因此也用得少。这里不做太多介绍。

4. web.py。也是很轻的一个框架,使用不多,也不做介绍。

5. web2py。我看楼上都没有对这个框架做介绍。这个框架是 Google 在 web.py 基础上二次开发而来的,兼容 GAE 。性能据说很高,曾经用他来做自己的主页,感觉也还不错。缺点同样是对扩展支持不太好,需要自己进行扩展。

6. Quixote。著名的 豆瓣 就是基于 Quixote 开发的。跟上面几个框架不同,Quixote 的路由会有些特别。另外 Quixote 的性能据说也好。

pythonweb框架性能

转载请注明出处编程代码网 » pythonweb框架性能(Python的代表性Web框架有哪些?)

资讯

pythonlist元素排序(Pythonlist排序求助)

阅读(32)

本文主要为您介绍pythonlist元素排序,内容包括python中怎么、样对list元素排序?,python怎么给list排序,Python怎么对列表中元素排序。Mary, Bud,&nbsp,&nbsp.3], [Hillary;>82.1]]>&gt,&nbsp&gt, >Clintonmer

资讯

htmlunitforpython(pythonhtmlunit怎么定位元素)

阅读(28)

本文主要为您介绍htmlunitforpython,内容包括pythonhtmlunit怎么定位元素,什么是SNAPforpython,的性能真实表现怎样。用打开浏览器的方式(如火狐)测试代码如下,该代码来源虫师博客,调试通过from selenium import webdriver fr

资讯

python匹配列表(用python将一个列表和一个字典匹配合并)

阅读(20)

本文主要为您介绍python匹配列表,内容包括python中如何实现字符串最后几位的精确匹配?例如一个列表list=[,pythonlist按顺序匹配分类并采集?,用python将一个列表和一个字典匹配合并。l = [[1号机zhi器dao内, 01], [2号机器, 02]] dic = {"01":{

资讯

listuniquepython(list有unique方法吗)

阅读(26)

本文主要为您介绍listuniquepython,内容包括list有unique方法吗,list有unique方法吗,python中list表示什么。java中有 list uniqueList([]内的内容可省略),与数组类似:实例化:List[<<a class="inner-li

资讯

pythongabor(Python求斐波那契数列前20项和)

阅读(26)

本文主要为您介绍pythongabor,内容包括Python求斐波那契数列前20项和,在python中prob是什么意思?,Python派森平台是做什么用的?。斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1。从第三项开始,每

资讯

pythonsetattr函数(python)

阅读(24)

本文主要为您介绍pythonsetattr函数,内容包括pythongetattr和setattr应该怎么理解,pythonsetitem和setattr关于无限递归,python中return到底什么意思。__getattr__为内置方法,当使用点号获取实例属性时,如果属性不存在就自动调用__getattr__

资讯

python乘号(有没有什么关于python语言的列表)

阅读(24)

本文主要为您介绍python乘号,内容包括python中怎么用星号不表示乘号,有没有什么关于python语言的列表??类似于:乘号是*除号是/,python*乘号在命令行中为什么报错。** 乘方运算* 乘法运算/ 除法运算% 取余运算+ 加法运算/字符串连接符- 减法

资讯

pythonftplib显示进度(python怎么查看进度)

阅读(26)

本文主要为您介绍pythonftplib显示进度,内容包括pythonftp怎么显示进度条,python怎么查看进度,怎么把Pythonftplib中下载文件名写成函数?。进度条类,代码如下: import sysclass progressbar(object): def __init__(self, f

资讯

bs4python(如何安装beautifulsoup4)

阅读(30)

本文主要为您介绍bs4python,内容包括怎样安装python的bs4包,python怎么安装beautifulsoup,python3.5怎么安装beautifulsoup4。windows1.下载完成之后需要解压缩,假设放到D:/python下。2.运行cmd,切换到D:/python/beautifulso

资讯

directxpython(虚幻4游戏开发)

阅读(24)

本文主要为您介绍directxpython,内容包括如何用Python读取USB操纵杆的输入,虚幻4游戏开发,现在一般游戏和软件都是用什么语言编程的。看哪方面了,如果是PC游戏的话(3D方面):程序语言:C++脚本语言:Lua/Python之类的图形API:DirectX或者OpenG

资讯

python调用flash(pythonwebdriver.chrome怎么添加flash)

阅读(31)

本文主要为您介绍python调用flash,内容包括pythonwebdriver.chrome怎么添加flash,如何使用Python调用AutoIt来实现Flash控件的上传功能,python怎么爬flash。首先打开Dreamweaver,新建一个站点,再通过HTML在站点下创建一个新项目。2、将新建的

资讯

pythonweb招聘(Python就业都有哪些岗位)

阅读(34)

本文主要为您介绍pythonweb招聘,内容包括Python就业都岗位,Python都就业岗位,python就业前景怎么样。Python Web开发工程师:我们都知道Web网站开发一直都是所有互联网公司开发的重点之一,我们离不开互联网,离不开Web技术,利用P

资讯

pythonweb开发入门(用Python进行web开发需要学习什么?)

阅读(29)

本文主要为您介绍pythonweb开发入门,内容包括用Python进行web开发需要学习什么?,如何用Python做Web开发,如何用Python做Web开发。需要学习Linux、xhtml、css、javascript、数据库(关系型、nosql等)和需求分析等内容。Python是一种解释型、

资讯

pythonscrapy分布式爬虫(怎么样使用Python的Scrapy爬虫框架)

阅读(36)

本文主要为您介绍pythonscrapy分布式爬虫,内容包括怎么样使用Python的Scrapy爬虫框架,如何用Python写一个分布式爬虫,scrapy适合分布式爬虫吗。创造一个项目在你要抓取之前,首先要建立一个新的Scrapy项目。然后进去你的存放代码目录,执行如下

资讯

插件框架python(如何设计插件式结构的程序,兼谈Python语言)

阅读(39)

本文主要为您介绍插件框架python,内容包括软件直接支持用Python写插件,如何设计插件式结构的程序,兼谈Python语言,python的框架知乎。为了扩充软件的功能,通常我们会把软件设计成插件式结构。Python这样的动态语言天生就支持插件式编程。与C

资讯

pythontwemproxy(scala的SQL数据库框架怎么用比较好)

阅读(33)

本文主要为您介绍pythontwemproxy,内容包括scala的SQL数据库框架怎么用比较好,scala的SQL数据库框架怎么用比较好,scala的SQL数据库框架怎么用比较好。以下是Twitter所使用的开源项目,简要浏览之后,我觉得是一个很好的关于分布式架构,大数据,异

资讯

php和python性能(python与php哪个性能高)

阅读(30)

本文主要为您介绍php和python性能,内容包括python与php哪个性能高,python与php的异同,和各自的优缺点?,PHP好还是python好。语法:PHP 的语法看起来就像没有经过精心设计一样,很随意。有的语法看似很方便(用点来连接字符串), 但是却为之后扩展造

资讯

pythonunittest框架(Python自动化测试框架有哪些?)

阅读(27)

本文主要为您介绍pythonunittest框架,内容包括什么是unittest框架?,Python自动化测试框架?,python中的unittest有什么作用。分享一些可用的Python自动化测试框架。自动化测试常用的Python框架有哪些?常用的框架有Robot Framework、Pytes