‘壹’ python 有哪些好的 Web 框架
1、Django框架
优点:是一个高层次Python Web开发框架,特点是开发快速、代码较少、可扩展性强。Django采用MTV(Model、Template、View)模型组织资源,框架功能丰富,模板扩展选择最多。对于专业人员来说,Django是当之无愧的Python排名第一的Web开发框架。
缺点:包括一些轻量级应用不需要的功能模块,不如Flask轻便。过度封装很多类和方法,直接使用比较简单,但改动起来比较困难。相比于 C,C++性能,Django性能偏低。模板实现了代码和样式完全分离,不允许模板里出现Python代码,灵活度不够。另外学习曲线也相对陡峭。
2、Flask框架
优点:Flask是一个Python Web开发的微框架,严格来说,它仅提供Web服务器支持,不提供全栈开发支持。然而,Flask非常轻量、非常简单,基于它搭建Web系统都以分钟来计时,特别适合小微原型系统的开发。花少时间、产生可用系统,是非常划算的选择。
缺点:对于大型网站开发,需要设计路由映射的规则,否则导致代码混乱。对新手来说,容易使用低质量的代码创建 “不良的web应用程序”。
3、Pyramid框架
优点:是一个扩展性很强且灵活的Python Web开发框架。上手十分容易,比较适合中等规模且边开发边设计的场景。Pyramid不提供绝对严格的框架定义,根据需求可以扩展开发,对高阶程序员十分友好。
缺点:国内知名度不高,高级用法需要通过阅读源代码获取灵感。默认使用Chameleon模板,灵活度没有成为一个要素。
4、web.py框架
优点:正如其名,web.py是一个采用Python作为开发语言的Web框架,简单且强大。俄罗斯排名第一的Yandex搜索引擎基于这个框架开发,Guido van Rossum认为这是最好的Python Web框架,还需要说别的吗?有事实作证、有大牛认可,用起来吧!
缺点:Web.py并未像其他框架一样保持与Python 3兼容性的最新状态。这不仅意味着缺乏对异步语法的支持,还意味着缺少对已弃用的函数的错误。此外,目前尚不清楚维护者是否有计划在Python 2到达其支持生命周期结束后保持Web.py的最新状态。
5、Tornado框架
优点:Tornado是一个基于异步网络功能库的Web开发框架,因此,它能支持几万个开放连接,Web服务高效稳定。可见,Tornado适合高并发场景下的Web系统,开发过程需要采用Tornado提供的框架,灵活性较差,确定场景后再考虑使用不迟。
缺点:Tornado 5.0改进了与Python的本机异步功能的集成。因此不再支持Python 3.3.并且Python 3.5用户必须使用Python 3.5.2或更高版本。Tornado 6.0将需要Python 3.5及更高版本,并将完全放弃Python 2支持。
‘贰’ Python Web开发比较流行的框架都有什么
目前Python流行的Web框架包括:Django、Flask和Tornado。框架把构建Web应用的通用的代码进行了封装,把相应的模块组织起来,使用Web框架可以更轻松、快捷的创建web应用,不用去关注一些底层细节。
1、Django框架
Django是基于Python的免费和开放源代码Web框架,它遵循模型-模板-视图(MTV)体系结构模式。它由Django Software Foundation(DSF)维护,这是一个由非营利组织成立的独立组织。Django对基础的代码进行了封装并提供相应的 API,开发者在使用框架是直接调用封装好的 API 可以省去很多代码编写,从而提高工作效率和开发速度。
Django的设计理念如下:
①松耦合——Django的目标是使堆栈中的每个元素彼此独立。
②更少的编码——更少的代码,因此可以快速开发。
③不重复自己(DRY)——一切都应该只在一个地方开发,而不是一次又一次地重复。
④快速开发——Django的理念是尽一切可能促进超快速开发。
⑤简洁的设计——Django严格按照自己的代码维护简洁的设计,并易于遵循最佳的Web开发实践。
Django的一些优势如下:
①对象关系映射(ORM)支持——Django在数据模型和数据库引擎之间建立了桥梁,并支持包括MySQL,Oracle,Postgres等在内的大量数据库系统。
②多语言支持——Django通过其内置的国际化系统支持多语言网站。因此,您可以开发支持多种语言的网站。
③框架支持——Django内置了对Ajax,RSS,缓存和其他各种框架的支持。
④GUI——Django为管理活动提供了一个很好的即用型用户界面。
⑤开发环境——Django带有轻量级的Web服务器,以促进端到端应用程序的开发和测试。
⑥Django是Python Web框架。和大多数现代框架一样,Django支持MVC模式。
2、Flask框架
Flask 是 Python 编写的一种轻量级 ( 微 ) 的 Web 开发框架,只提供 Web 框架的核心功能,较其他类型的框架更为的自由、灵活、更加适合高度定制化的 Web 项目。Flask 在功能上面没有欠缺,只不过更多的选择及功能的实现交给了开发者去完成,因此 Flask 对开发人员的水平有了一定的要求。
3、Tornado框架
在之前的学习过程当中,学习过了 Flask 和 Django 这两个 Python Web 框架,现在来认识一个更加复杂但是高效的 Python Web 框架 : Tornado。
Tornado 是 Python 编写的一个强大的可扩展的 Web 服务器,在处理高网络流量的时候表现的足够强大,但是在创建的时候,和 Flask 类似又足够轻量,并且可以被用到大量的工具当中。相对于其他的框架,
Tornado 有如下特点:
1、完整的 Web 开发框架,和 Django,Flask 一样,Tornado 也提供了路由映射,request 上下文,基于模板的页面渲染这些功能。
2、同样是一个高效的网络库,性能可以和 Python 的 Twisted,Gevent 等底层框架媲美,同时提供了异步IO, 超时事件处理,功能,这样 twisted 除了做 Web 之外还可以做爬虫,物联网关或者游戏服务器等后台应用。
3、提供了高效的 HTTPClient, 除了服务器端框架,还提供了基于异步框架的 HTTP 客户端
4、提供了高效的内部服务器,Tornado 的内部服务器可以直接用于生产环境
5、完备的 WebSocket 支持
关于Python的基础问题可以看下这个网页的视频教程,网页链接,希望我的回答能帮到你。
‘叁’ python web开发 该用什么框架
Djang Python Web应用开发框架
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。
Flask:一个用Python编写的轻量级Web应用框架
Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2
。Flask使用 BSD 授权。
Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension
增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
Tornado:异步非阻塞IO的Python Web框架
Tornado是一种 Web 服务器软件的开源版本。Tornado 和主流Web 服务器框架(包括大多数 Python
的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。
得利于其非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个 理想框架。
‘肆’ 最常用Python开源框架有哪些
django
flask等等
建议先把django学会,慢慢来,举一反三。前期比较困难。
‘伍’ 10个让你爱不释手的Python开源框架
如果你正在学习python,那么这10个开源框架,你可千万别错过,这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等。虽说不上是全都有,但也足够满足你了。
0.Django:Python Web应用开发框架
众所周知,Python下有许多款不同的 Web 框架。而其中,Django是最具代表性之一,许多成功的网站和APP都基于Django。
Django是是一个全能型框架,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。
相关推荐:《Python教程》
1.Cubes:轻量级Python OLAP框架
Cubes是一个轻量级Python框架,包含OLAP、多维数据分析和浏览聚合数据(aggregated data)等工具。
2.Kartograph.py:创造矢量地图的轻量级Python框架
Kartograph是一个Python库,用来为ESRI生成SVG地图。Kartograph.py目前仍处于beta阶段,你可以在virtualenv环境下来测试。
3.Pulsar:Python的事件驱动并发框架
Pulsar是一个来自eBay的高扩展性、高可用性、基于事件驱动的开源实时分析平台和流处理框架,它能够实时收集和处理用户行为和业务事件。
4.Tornado:异步非阻塞IO的Python Web框架
Tornado的全称是Torado Web Server,传说中性能高高的框架。Tornado 是一个很好的框架,支持异步处理的功能,这是它的特点,其他框架不支持。另外一点是,Tornado 的设计似乎更注重 RESTful URL。
5.Bottle:微型Python Web框架
Bottle 和 Flask 都属于轻量级的 Web 框架。说微型,是因为它只有一个文件,除Python标准库外,它不依赖于任何第三方模块。6.Web2py:全栈式Web框架
Web2py是 Google 在 web.py 基础上二次开发而来的,兼容 Google App Engine 。是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速、安全以及可移植的数据库驱动的应用。
7.Falcon:构建云API和网络应用后端的高性能Python框架
Falcon是一个构建云API的高性能Python框架,是一个面向Hadoop的数据集和处理过程的管理平台。它鼓励使用REST架构风格,尽可能以最少的力气做最多的事情。
8.Diesel:基于Greenlet的事件I/O框架
Diesel提供一个整洁的API来编写网络客户端和服务器。支持TCP和UDP。非阻塞I/O使得diesel非常快速并且容易扩展。
greenlets使得diesel有了unwind(to(callbacks(no)))。nose使得测试变得容易。最后,Flask使得你不需要写一个新的网络框架来使用diesel。
9.Flask:一个用Python编写的轻量级Web应用框架
Flask同样也是一个Python编写的Web 微框架,能够快速实现一个网站或Web服务。属于轻量级Web应用框架。花很少的成本就能够开发一个简单的网站。非常适合初学者学习。Flask 框架学会以后,可以考虑学习插件的使用。
Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。
‘陆’ python的web开发框架有哪些
1.CubicWeb
CubicWeb的最重要的功能是其代码的可重用性,由一个个代码单元组成。它灵活又强大,并且还有一些特别的功能,包括RQL查询语言和支持有效编码的语义视图功能。这是语义Web应用程序的最佳解决方案,并且提供理想的环境。
2.TurboGears
TurboGears也称为是框架的终结者,因为它虽然有着其他Python框架都有的功能,却不像其他框架那样有局限性。它甚至能适用于简单的微架构项目。它给人的感觉就不像是工作在框架上,而像是在写新的功能。你可以在几分钟之内可以创建一个read-to-extend应用,并且我们可以在网上找到大量的教程。
3.Zope2
Zope是不同Web框架集合在一起的完整家庭。与其他框架相比,zope2在当前的开发环境中对于内容管理系统是相当有限的。
Zope工具包是一个很好的库资源,允许使用重用代码和不同的库。
4.web2py
web2py最重要的因素是其外部零依赖,可以创建、复原、管理和修改在浏览器中的应用程序。对于一些简单的web开发任务,大部分都可以自动化快速开发。程序员甚至不需要再准备单一的开发、调试、测试、部署和数据库处理的封装包。内置的Web界面中这些都有,在使用之前也不需要进行安装。
5.Pylons
灵活性是pylons框架的主要特点之一。它可以将不同Python框架提供的某些最好功能,整合到同一个地方。Pyramid是pylons的第一批产品之一,它把重点放在了快速和灵活开发实践上。你可以挑选任何你认为可以提高Web开发效率的功能整合到一起。
6.Grok
它由Zope工具包提供支持,并且一开始的时候是作为一个易扩展的Zope工具箱,为了方便那些菜鸟程序员的使用而开发
的。对于Web应用,Grok不但能提供多个构件,还有一个随时可以提供支持的很好社区。它提供了一种更为简单和灵活的学习Python的模式。它配备的可DRY方法使得它成为了一个很好的工具。
7.Web.py
之所以说这是一款非常独特的框架,主要是因为它的简单性和功能强大的开发能力。你可以用Python语言舒舒服服地编写web应用程序。你会因为它的零局限性和易用性喜欢上web.py。有些程序员可能会发现它对功能的限制比较少,因为它预留了整合的空间,所以你不必一下子加载所有的功能,尤其是那些你并不需要的。
关于框架选择的误区:
1.
哪个框架最好
2. 过分关注性能
‘柒’ python web开发用什么框架
对初学者来说,循序渐进是最重要的,我推荐学习 Flask(Welcome | Flask (A Python Microframework))
Flask 很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。
Flask 框架学会以后,可以考虑学习插件的使用。例如使用 WTForm + Flask-WTForm 来验证表单数据,用 SQLAlchemy + Flask-SQLAlchemy 来对你的数据库进行控制。
BTW:果壳网基于 Flask 开发的。
另外也简单介绍下其他框架:
1. Django。如楼上所说,是一个全能型框架。目前 Django 的使用面还是很广的,有学习的价值,但是不建议初学者学习,因为要学习的东西太多了,一下子难以吸收会失去兴趣。当然,Django 的目的是为了让开发者能够 快速 地开发一个网站,它提供了很多模块,其中我最喜欢的就是 admin 模块,http://your.site.com/admin 就进入了网站的后台(内置的哦~)方便地对数据进行操作,等等。。。。因此,如果对 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 的性能据说也好。
‘捌’ python web框架有哪些
1、Django
Python中最全能的Web开发框架,各种功能完备,可维护性和开发速度都一级棒,不少人反应Django框架慢,它主要慢在DjangoORM与数据库的交互上,所以是否使用Django框架,需要取决于项目对数据库交互的要求以及各种优化,而对于Django的同步特性导致吞吐量小的问题,可以通过Celery等解决,这并不是一个致命问题。
2、Tornado
异步,性能强悍,然而它相比Django框架来说,相对原始,很多东西需要自己去处理,随着项目的逐渐扩大,框架所能提供的功能也会越来越小,更多的东西需要团队自己去实现,而大项目往往需要性能的保证,这时它就是最佳的选择。
3、Flask
微框架,可以说是Python代码写得最好的项目之一,它的灵活性也是把双刃剑,能使用好Flask框架,即可以做成Pinterest,用不好就是灾难,它是一个微框架,但也可以做成规模化的Flask,加上它可以自由选择自己的数据库交互组件,而且加上celery+redis等异步特性之后,Flask的性能相对Tornado也不相上下,也许Flask的灵活性可能是某些团队更需要的。
4、Twisted
前面提到的3个Web框架都是围绕应用层HTTP展开的,而Twisted则不同,它是一个用Python语言编写的事件驱动的网络框架,对于追求服务器性能的应用,它是个非常不错的选择。
它支持很多协议,包括传输层的UDP、TCP、TLS,以及应用层的HTTP、FTP等,对于这些协议,Twisted提供了客户端和服务器方面的开发工具。
它是一个高性能的编程框架,在不同的操作系统上,Twisted利用不同的底层技术实现了高性能通信,在开发方法上,Twisted引导程序员使用异步编程模型,它提供了丰富的Defer、Threading等特性来支持异步编程。
‘玖’ 有哪些python框架需要学习
需要学习的python框架有:1、Django,它是一个高级的python web框架,以快速开发和使用简洁的设计闻名;2、CherryPy,它是历史最久的框架之一,运行非常稳定且快速;3、Web2Py,它是一个开源、免费的web框架。
常用的五大python框架:
(推荐教程:Python入门教程)
1、Django
Django是一个高级的Python Web框架,以快速开发和实用简洁的设计闻名。它由经验丰富的开发人员构建,解决了Web开发的麻烦,因此用户可以专注于编写应用程序,而不需要担心返工。并且它是开源和免费的。
特点:
安全系数高,能帮助开发者规避常见错误。
速度特别快,因为它的设计目的是使应用程序非常快地从概念阶段过渡到最终阶段。
扩展性好。
从21世纪初Django成为开源框架到现在,它一直是最佳的归档方式。
2、CherryPy
CherryPy是历史最久的框架之一,运行非常稳定且快速。该框架允许开发人员构建web应用程序,和以Python为对象的应用程序开发过程类似,因而可在更短的时间内开发更小的源代码。
从一开始,CherryPy就被证明是高效快速的,并被许多站点用于生产,无论是最简单的站点,还是有高要求的站点。
特点:
可以在2.7+、3.5+、Jython、Android和PyPy上运行。
内置覆盖、分析和测试支持。
容易快速运行多个HTTP服务器(例如,在多个端口上)。
是为部署人员和开发人员提供的最强大的配置系统之一。
灵活的插件系统。
3、Web2Py
Web2Py是一个开源、免费的web框架,用于敏捷开发,其中包括数据库驱动的web应用程序。它是用Python编写的,并可用于python编程。它是个全堆栈框架,由开发人员构建功能齐全的web应用程序所需的所有必要组件组成。
特点:
能够简化复杂大型应用的开发
支持MVC体系结构
符合Ni配置和安装要求
提供本地化和国际化支持
4、Bottle
Bottle是一个用于Python的简单、轻量级、快速的Web服务器网关接口(WSGI)微web框架。它是作为单个文件模块分发的,除了Python标准库之外没有其他依赖项。它被设计成轻量级,允许快速有效地开发web应用程序。
特点:
内置HTTP服务器。
允许用户访问表单数据、cookie、上传文件、header和其他http相关元数据。
一个可以同时运行Python 2.5x和3.5x的文件。
5、Flask
Flask是一个微框架,最适合简单的小项目。该框架基于Jinja 2和Werkzeug开发。这个框架的主要目的是开发一个强大的web应用程序库。
特点:
包含开发调试器和服务器
有丰富的文档
支持安全cookie
基于unicode
单元测试集成支持
‘拾’ Python有哪些不错的web开发框架常用的有哪些
Python作为一门应用非常广泛的编程语言,本身针对Web开发提供了非常多的框架,既有重量级的,也有轻量级的,下面我简单介绍几个比较常见的PythonWeb开发框架,感兴趣的朋友可以自己尝试一下:
Django
这是Python一个非常成熟稳重的Web框架,基于MVC模式(又说MTV模式,本质其实一样),优点是文档完善、资料丰富、功能要素齐全,几乎你所能想到的要点,Django都已实现或集成,只需要简单开发和配置,就可快速搭建一个Web系统,缺点也显而易见,大包大揽,追求极致和完善,有些臃肿,不如Falsk等框架轻巧灵活,学习和使用起来也具有一定难度,但对于大型项目开发来说,是一个很不错的选择:
Flask
这是Python一个非常轻巧灵活的Web框架,可扩展性和可定制性都非常高,WSGI工具箱采用Werkzeug,模板引擎则使用JinJa2,与Django相比,比较轻便,也容易学习和掌握,如果你初学PythonWeb开发的话,可以学习一下这个框架,非常不错,对于中小型网站开发来说,也是一个不错的选择,缺点就是模块扩展相对较少(社区还在开发中),有许多功能可能需要自己实现:
测试代码如下,非常简单,只需几行代码就可快速搭建一个Web系统,运行启动程序,就可直接在浏览器中看到预期效果,悔拍非常容易:
Tornado
这也是一个轻量级的PythonWeb开发框架,与其他Web框架相比,最明显的区别就是非阻塞式的,运行速度非常快,每秒可以处理数以千计的连接,因此可以看做是一个实时的Web框架,如果你追求实时性能和效率的话,可以学习一下这个框架,非常不错,只不过有许多功能也需要自己亲自实现:
测试代码如下,也非常简单,只需简单几行代码就可快速构建一个Web系统,运行启动程序,就可在浏览器对应端碧则羡口中看到效果:
目前,就介绍这3个不错的PythonWeb开发框架吧,对于大部分Web开盯陵发来说,完全够用了,当然,还有许多其他框架,像Pylons,Bottle等也有非常不错,根据实际项目需求,选择适合的一个框架就行,网上也有相关资料和教程,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。