当前位置:首页 » 网页前端 » python的web框架
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

python的web框架

发布时间: 2022-02-07 08:14:28

‘壹’ 如何开发一个Python web框架

  • 预备知识

    web框架主要是实现web服务器和web应用之间的交互。底层的网络协议主要有web服务器完成。譬如监听端口,填充报文等等。

  • Python内建函数__iter__和__call__和WSGI

  1. 迭代器iterator

    为类序列对象提供了类序列的接口,也就是说类序列对象可以通过迭代器像序列一样进行迭代。

  2. __call__

    在类定义的时候实现了__call__方法,那么该类的对象就是可调有的,即可以将对象当做函数来使用。

  3. WSGI

    用可调用的对象实现的:一个函数,一个方法或者一个可调用的实例。

  4. ‘贰’ python的web开发一般使用什么框架

    django是目前最火的一个,大而全,学习周期稍微长,
    tornado是一个轻量级的,代码很少,最大的优点是非阻塞,处理并发。
    个人推荐tornado,感觉django的很多东西没有必要,比如它orm,如果注重效率,还是tornado吧。

    ‘叁’ 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,让你几乎不用写一行代码就拥有一个完整的后台管理界面。

    ‘肆’ 干货分享!Python三大web框架简单介绍

    1、Django



    Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。



    2、Flask



    Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。



    Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。



    Flask 很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。Flask 框架学会以后,可以考虑学习插件的使用。例如使用 WTForm + Flask-WTForm 来验证表单数据,用 SQLAlchemy + Flask-SQLAlchemy 来对你的数据库进行控制。



    3、Tornado



    Tornado是一种 Web 服务器软件的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。



    得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个 理想框架。



    关于干货分享!Python三大web框架简单介绍,环球青藤小编就和大家分享到这里了,学习是永无止境的,学习一项技能更是受益终身,所以,只要肯努力学,什么时候开始都不晚。如果您还想继续了解关于python编程的学习方法及素材等内容,可以点击本站其他文章学习。

    ‘伍’ python高并发web框架有哪些

    python 就不能考虑高并发
    gevent 焦作人
    另外 pypy+tornado 有惊喜,42w 7IP 懂的自然懂,内存占用没记错是10k+/Conn

    ‘陆’ 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
    Django是一个开源的Web应用框架,由Python写成,支持许多数据库引擎,可以让Web开发变得迅速和可扩展,并会不断的版本更新以匹配Python最新版本,如果是新手程序员,可以从这个框架入手。
    2. CherryPy
    CherryPy是一种用于Python的、简单而非常有用的Web框架,其主要作用是以尽可能少的操作将Web服务器与Python代码连接,其功能包括内置的分析功能、灵活的插件系统以及一次运行多个HTTP服务器的功能,可与运行在最新版本的Python、Jython、Android上。
    3. Web2py
    web2py 是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速、安全以及可移植的数据库驱动的应用,兼容
    Google App Engine。
    4. TurboGears
    TurboGears可以快速实现Web应用程序开发,富含丰富的特殊性能,可以解决更多的框架领域问题,从简单到复杂的项目都可以开发,并具有实时的多数据库支持和灵活的ORM,简单的文档和最小的设置使它成为一个理想的使用框架。
    5. Pylons
    Pylons是一个开源的Web应用框架,使用Python语言编写,它对WSGI标准进行了扩展应用,提升了重用性且将功能分割到独立的模块中,而且提供了在线调试器,易于错误跟踪!

    ‘捌’ 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开发 该用什么框架

    Python是最受欢迎的和最有效率的开发语言之一.Python能让你更快完成工作,并且更有效地集成系统.Python是动态的面向对象的语言.即便你刚刚开始学习Python,也立即就能获得生产力上的提升,并且代码的维护成本很低.它有很多其他语言没有的特性,并且它要求开发者编写易读的代码.相比于其他语言,Python让软件设计者能够使用更少的代码实现自己的意图.在这篇文章中,我们将介绍5种Python领域顶尖的Web开发框架.
    1.Django

    Django是以快速开发和结构整洁着称的高层框架.这个开源免费的框架完全由Python编写并且遵循MVC的模型.它由经验丰富的大牛编写,帮你解决了Web开发中大多数的难点,让你能够专注于业务逻辑,而不用重复造轮子.
    2.CherryPy

    使用CherryPy最好的理由就是它兼容Python,它的Python接口非常Pythonic,让Python开发者不会感到突兀.
    CherryPy是HTTP协议的一个封装,这样其他软件可以使用它来处理HTTP协议的细节.它是一个低层的框架,它只提供 RFC 2616 定义的功能.
    3.Flask

    Flask适合开发轻量级的Web应用,新手程序员会发现它缺乏一些必要的功能,如表单验证和数据库抽象层.它使用第三方库来完成这些工作.然而,它的结构适于扩展,所以你可以比较容易地为它添加必要的功能.它基于WerkzeugWSGI工具箱和jinja模板,它使用BSD许可证.
    4.Pyramid

    Pyramid以执行效率和快速开发的能力着称.这个框架最有优势的地方是,它包含了一些Python/Perl/Ruby独有的特性.这个开源框架拥有不依赖平台的MVC架构,和最快的启动开发的能力.
    5.TurboGear

    TurboGear是建立在其他框架基础上的框架,它把其他框架优秀的部分集成到一起.由于每个框架都有一些部分做得不好,TurboGear试图解决这个问题.它允许你从一个单文件服务开始,逐步扩展为一个全栈服务.

    ‘拾’ 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的基础问题可以看下这个网页的视频教程,网页链接,希望我的回答能帮到你。