❶ python三大web框架分別是什麼 哪個更好
【導讀】目前,Python比較火的三大web框架有Django、Flask和Tornado,要論這三個Web框架哪個更好的話,建議一點,Django幫我們事先搭建了好多,上手會快一些,學習的話可以先從Django學起,然後再學習Flask和Tornado,下面我們就來具體了解一下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 怎麼搭建簡單的web伺服器
利用Python自帶的包可以建立簡單的web伺服器。在DOS里cd到准備做伺服器根目錄的路徑下,輸入命令:x0dx0apython -m Web伺服器模塊 [埠號,默認8000]x0dx0a例如:x0dx0apython -m SimpleHTTPServer 8080x0dx0a然後就可以在瀏覽器中輸入x0dx0ah ttp://loca lhost:埠號/路徑x0dx0a來訪問伺服器資源。 x0dx0a例如:x0dx0ah ttp://local host:808 0/index.h tm(當然index.htm文件得自己創建)x0dx0a其他機器也可以通過伺服器的IP地址來訪問。x0dx0ax0dx0a這里的「Web伺服器模塊」有如下三種:x0dx0ax0dx0aBaseHTTPServer: 提供基本的Web服務和處理器類,分別是HTTPServer和BaseHTTPRequestHandler。x0dx0aSimpleHTTPServer: 包含執行GET和HEAD請求的SimpleHTTPRequestHandler類。x0dx0aCGIHTTPServer: 包含處理POST請求和執行CGIHTTPRequestHandler類。
❸ Python 有哪些好的 Web 框架
常見的5種Web框架:
第一個:Django
Django是一個開源的Web應用框架,由Python寫成,支持許多資料庫引擎,可以讓Web開發變得迅速和可擴展,並會不斷的版本更新以匹配Python最新版本,如果是新手程序員,可以從這個框架入手。
第二個:Flask
Flask是一個輕量級的Web應用框架,使用Python編寫。基於WerkzeugWSGI工具箱和JinJa2模板引擎,使用BSD授權。
Flask也被稱為microframework,因為它使用簡單的核心,用extension增加其他功能。Flask沒有默認使用的資料庫、窗體驗證工具。然而Flask保留了擴增的彈性,可以用Flask-extension加入這些功能:ORM、窗體驗證工具、文件上傳、各種開放式身份驗證技術。
第三個:Web2py
Web2py是一個用Python語言編寫的免費的開源Web框架,旨在敏捷快速的開發Web應用,具有快速、可擴展、安全以及可移植的資料庫驅動的應用,遵循LGPLv3開源協議。
Web2py提供一站式的解決方案,整個開發過程都可以在瀏覽器上進行,提供了Web版的在線開發,HTML模板編寫,靜態文件的上傳,資料庫的編寫的功能。其他的還有日誌功能,以及一個自動化的admin介面。
第四個:Tornado
Tornado即是一個Webserver,同時又是一個類web.py的micro-framework,作為框架的Tornado的思想主要來源於web.PY,大家在web.PY的網站首頁也可以看到Tornado的大佬Bret
Taylor的這么一段話:「[web.py inspired the] Web framework we use at FriendFeed [and] thewebapp framework that ships with App Engine…」,因為這層關系,後面不再單獨討論Tornado。
第五個:CherryPy
CherryPy是一個用於Python的、簡單而非常有用的Web框架,其主要作用是以盡可能少的操作將Web伺服器與Python代碼連接,其功能包括內置的分析功能、靈活的插件系統以及一次運行多個HTTP伺服器的功能,可運行在最新版本的Python、Jython、android上。
❹ 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開發提供了非常多的框架,既有重量級的,也有輕量級的,下面我簡單介紹幾個比較常見的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等也有非常不錯,根據實際項目需求,選擇適合的一個框架就行,網上也有相關資料和教程,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。
❻ 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等特性來支持非同步編程。
❼ python3.5裡面怎麼搭建簡單的web伺服器
python3.5裡面怎麼搭建簡單的web伺服器
利用Python自帶的包可以建立簡單的web伺服器。在DOS里cd到准備做伺服器根目錄的路徑下,輸入命令:
python -m Web伺服器模塊 [埠號,默認8000]
例如:
python -m SimpleHTTPServer 8080
然後就可以在瀏覽器中輸入
h ttp://loca lhost:埠號/路徑
來訪問伺服器資源。
例如:
h ttp://local host:808 0/index.h tm(當然index.htm文件得自己創建)
其他機器也可以通過伺服器的IP地址來訪問。
這里的「Web伺服器模塊」有如下三種:
BaseHTTPServer: 提供基本的Web服務和處理器類,分別是HTTPServer和BaseHTTPRequestHandler。
SimpleHTTPServer: 包含執行GET和HEAD請求的SimpleHTTPRequestHandler類。
CGIHTTPServer: 包含處理POST請求和執行CGIHTTPRequestHandler類。