欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python常用Web框架Django、Flask與Tornado介紹

 更新時間:2022年05月31日 10:52:11   作者:springsnow  
這篇文章介紹了Python常用Web框架Django、Flask與Tornado,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

web框架是什么?

web開發(fā)框架是一組工具,同時也提供了非常多的資源,供軟件開發(fā)人員構(gòu)建和管理網(wǎng)站、提供web服務(wù)、編寫web應用程序。它是一個抽象工具,能使開發(fā)應用程序和重復使用代碼的過程變得更容易。

為什么需要web開發(fā)框架?

進行自定義軟件開發(fā)時,web開發(fā)框架讓整個過程變得更容易,因而開發(fā)速度更快、更高效。許多開發(fā)框架都很便宜,這也使得整個客戶機的成本更小。

一個被廣泛使用的框架安全性更高。這主要依賴于該框架背后的社區(qū),在這里,用戶成為長期的測試人員,并可以提供修復。

如果發(fā)現(xiàn)了安全漏洞,可以訪問框架的網(wǎng)站,告知特定的團隊,這樣他們就可以修復它。

Python  web  目前較火的三大框架:Django、Flask 與 Tornado

1、Django

Django是一個開放源代碼的Web應用框架,由Python寫成。采用了MTV的框架模式,即模型M,模板T和視圖V。它最初是被開發(fā)來用于管理勞倫斯出版集團旗下的一些以新聞內(nèi)容為主的網(wǎng)站的,即是CMS(內(nèi)容管理系統(tǒng))軟件。

Django是一個高級的Python Web框架,以快速開發(fā)和實用簡潔的設(shè)計聞名。它由經(jīng)驗豐富的開發(fā)人員構(gòu)建,解決了Web開發(fā)的麻煩,因此用戶可以專注于編寫應用程序,而不需要擔心返工。并且它是開源和免費的。

Python 界最全能的 web 開發(fā)框架,battery-include 各種功能完備,可維護性和開發(fā)速度一級棒。常有人說 Django 慢,其實主要慢在 Django ORM 與數(shù)據(jù)庫的交互上,所以是否選用 Django,取決于項目對數(shù)據(jù)庫交互的要求以及各種優(yōu)化。而對于 Django 的同步特性導致吞吐量小的問題,其實可以通過 Celery 等解決,倒不是一個根本問題。

特點:

  • 安全系數(shù)高,能幫助開發(fā)者規(guī)避常見錯誤。
  • 速度特別快,因為它的設(shè)計目的是使應用程序非??斓貜母拍铍A段過渡到最終階段。
  • 擴展性好。
  • 從21世紀初Django成為開源框架到現(xiàn)在,它一直是最佳的歸檔方式。

Django 的項目代表:

Instagram,Guardian。

2、Flask

Flask是一個使用 Python 編寫的輕量級 Web 應用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎則使用 Jinja2 。Flask使用 BSD 授權(quán)。

Flask也被稱為 “microframework” ,因為它使用簡單的核心,用 extension 增加其他功能。Flask沒有默認使用的數(shù)據(jù)庫、窗體驗證工具。

Flask 雖然是微框架,但是也可以做成規(guī)?;?Flask。加上 Flask 可以自由選擇自己的數(shù)據(jù)庫交互組件(通常是 Flask-SQLAlchemy),而且加上 celery +redis 等異步特性以后,F(xiàn)lask 的性能相對 Tornado 也不逞多讓,也許Flask 的靈活性可能是某些團隊更需要的。

特點:

  • 包含開發(fā)調(diào)試器和服務(wù)器
  • 有豐富的文檔
  • 支持安全cookie
  • 基于unicode
  • 單元測試集成支持

3、Tornado

Tornado是一種 Web 服務(wù)器軟件的開源版本。Tornado 和現(xiàn)在的主流 Web 服務(wù)器框架(包括大多數(shù) Python 的框架)有著明顯的區(qū)別:它是非阻塞式服務(wù)器,而且速度相當快。

  得利于其 非阻塞的方式和對epoll的運用,Tornado 每秒可以處理數(shù)以千計的連接,因此 Tornado 是實時 Web 服務(wù)的一個 理想框架。

  天生異步,性能強悍是 Tornado 的名片,然而 Tornado 相比 Django 是較為原始的框架,諸多內(nèi)容需要自己去處理。當然,隨著項目越來越大,框架能夠提供的功能占比越來越小,更多的內(nèi)容需要團隊自己去實現(xiàn),而大項目往往需要性能的保證,這時候 Tornado 就是比較好的選擇。

Tornado項目代表:

知乎

總結(jié):

  • Django適合:開發(fā)速度快,初學者或者小團隊的快速開發(fā),適合做管理后臺類、博客類網(wǎng)站、或者功能十分復雜需求十分多的網(wǎng)站。Django 和 Flask 都行,區(qū)別是 Flask 把許多功能交給第三方庫去完成了,因此 Flask 更為靈活。
  • Tornado適合:性能好,高度定制,適合訪問量大,異步情況多的網(wǎng)站

到此這篇關(guān)于Python常用Web框架Django、Flask與Tornado的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于OpenCV實現(xiàn)動態(tài)畫矩形和多邊形并保存坐標

    基于OpenCV實現(xiàn)動態(tài)畫矩形和多邊形并保存坐標

    這篇文章主要為大家詳細介紹了如何利用OpenCV實現(xiàn)動態(tài)畫矩形和多邊形并保存坐標,文中的示例代碼講解詳細,具有一定的參考價值,需要的可以參考一下
    2023-03-03
  • Windows平臺Python連接sqlite3數(shù)據(jù)庫的方法分析

    Windows平臺Python連接sqlite3數(shù)據(jù)庫的方法分析

    這篇文章主要介紹了Windows平臺Python連接sqlite3數(shù)據(jù)庫的方法,結(jié)合實例形式分析了Windows平臺安裝SQLite數(shù)據(jù)庫及創(chuàng)建、連接數(shù)據(jù)庫的實現(xiàn)方法與相關(guān)注意事項,需要的朋友可以參考下
    2017-07-07
  • linux中使用Python對圖片進行批量命名

    linux中使用Python對圖片進行批量命名

    大家好,本篇文章主要講的是linux中使用Python對圖片進行批量命名,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • python淺析守護線程與非守護線程的區(qū)別與使用

    python淺析守護線程與非守護線程的區(qū)別與使用

    守護線程,又稱后臺線程,它是在后臺運行的,如果所有前臺線程都死亡,那么后臺線程就會自動死亡,本章我們來了解守護線程與非守護線程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-08-08
  • python?Matplotlib繪制炫酷柱狀圖的藝術(shù)與技巧大全

    python?Matplotlib繪制炫酷柱狀圖的藝術(shù)與技巧大全

    柱狀圖(Bar Plot)是一種常用的數(shù)據(jù)可視化方式,用于顯示各個類別之間的比較,下面這篇文章主要給大家介紹了關(guān)于python?Matplotlib繪制炫酷柱狀圖的藝術(shù)與技巧大全,需要的朋友可以參考下
    2024-03-03
  • pandas 如何保存數(shù)據(jù)到excel,csv

    pandas 如何保存數(shù)據(jù)到excel,csv

    這篇文章主要介紹了pandas 如何保存數(shù)據(jù)到excel,csv的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python標準庫pickle的簡單使用

    Python標準庫pickle的簡單使用

    本文主要介紹了Python標準庫pickle的簡單使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • 利用python求相鄰數(shù)的方法示例

    利用python求相鄰數(shù)的方法示例

    相鄰數(shù)是數(shù)學名詞,意思是在從小到大依次排列的自然數(shù)中,一個數(shù)前面和后面相互鄰近的兩個數(shù)就是該數(shù)的相鄰數(shù)。下面這篇文章主要給大家介紹了利用python求相鄰數(shù)的方法示例,需要的朋友可以參考下。
    2017-08-08
  • 讓python json encode datetime類型

    讓python json encode datetime類型

    python2.6+ 自帶的json模塊,不支持datetime的json encode,每次都需要手動轉(zhuǎn)為字符串,很累人,我們可以自己封裝一個簡單的方法處理此問題。
    2010-12-12
  • python網(wǎng)絡(luò)編程學習筆記(五):socket的一些補充

    python網(wǎng)絡(luò)編程學習筆記(五):socket的一些補充

    前面已經(jīng)為大家介紹了python socket的一些相關(guān)知識,這里為大家補充下,方便需要的朋友
    2014-06-06

最新評論