當前位置:首頁 » 網頁前端 » python的web開發框架
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

python的web開發框架

發布時間: 2022-02-17 09:00:01

Ⅰ Python web開發一定要用框架嗎

  • 可以,但是首先要記得,最早的、最基本的 CGI 程序,所謂的 web 輸出不過就是由 web server 將這個程序輸出的內容重定向給瀏覽器而已。

  • 接受

  1. 因為 CGI 依賴於 one-proc-per-request 模型,效率低下,所以後來有了內嵌到 Apache 伺服器中的模塊設計,比如 mod_php 等。

  2. PHP 最常見的部署形式,mod_php 就是作為 web server 附加組件運行的,所以很多事情是由設計默認、環境代為完成的,比如和 HTTP server 的通信等。

  3. Python 更偏向於通用編程語言,如果要做 Web 開發,可以有兩種方式:通過 Apache / Nginx 做前端;自己做 HTTP server。

Ⅱ Python web 開發一定要用框架嗎

Python web 開發不一定要用框架
因為Python Web框架也是Python開發出來的。只是為了減少重復造輪子,降低開發門檻。
1、Python 的 Web 並不作為語言的一部分實現。因為通用語言的設計目標,Python 通過 C extension 形式的標准庫,有原生的網路編程支持。也就是說,任何人都可以用 Python 的 socket 介面自己編寫 Web 伺服器。由於圖靈機的等價性,用 Python 實現一個 PHP VM 也是技術可行的。
2、但是絕大多數人用 Python 做 Web 開發的時候不會選擇自己用 socket 去實現一個伺服器,因為 Python 官方有 Web 設計的標准—— WSGI (PEP 333 python.org/dev/peps...)。WSGI 定義的標准將 Web 應用劃分為 WSGI Application 和 WSGI Server。後者類似 PHP 的 Web 運行時,提供對標准輸入輸出流的封裝,前者則類似自己寫的 PHP 應用,在封裝後的環境中對具體應用進行 Web 開發。強烈建議閱讀一下 PEP 333,對於理解 WSGI 的這種劃分很有幫助。
3、目前為止,WSGI 在主流 Python 應用中得到廣泛支持,所謂的 Python Web 框架,其實都是符合 WSGI Application 規范下,對Web開發中環境進行的封裝,如果有精力,閱讀一下 Bottle 框架的源碼,就會非常有收獲——只有一個文件,但是完整實現 WSGI 並封裝為自己風格的一個環境(一個 Bottle 的實例就是一個 WSGI Application,實現了 __call__ 方法)。像 Django 這種框架已經逾越了Web框架范圍的了,將 ORM、表單驗證等等聚集成一塊,有點像 RoR 的感覺。真正和 PHP 的 Web 環境等價的,是類似 Bottle 這樣的微內核框架。

Ⅲ 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應用框架

頁面內容是有js/ajax動態生成的,用普通的請求頁面->解析的方法就不管用了,需要藉助一個類似firefox、chrome瀏覽器的js引擎來對頁面的js代碼做動態解析。
此種情況下,推薦考慮casperJS+phantomjs或slimerJS+phantomjs ,當然諸如selenium之類的也可以考慮。

Ⅳ 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編寫的,輕量級的,簡單輕巧,並且使用起來非常的方便。

Ⅵ 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流行的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框架有哪些

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開發一般使用什麼框架

django是目前最火的一個,大而全,學習周期稍微長,
tornado是一個輕量級的,代碼很少,最大的優點是非阻塞,處理並發。
個人推薦tornado,感覺django的很多東西沒有必要,比如它orm,如果注重效率,還是tornado吧。

Ⅹ 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 的性能據說也好。