flask和django的對比如下:
Flask是一個(gè)由Python語言寫成的輕量級(jí)Web框架,最早由奧地利人Armin Ronacher于2010年發(fā)布。Flask最顯著的特點(diǎn)是它是一個(gè)“微”框架,輕便靈活,但同時(shí)又易于擴(kuò)展。默認(rèn)情況下,F(xiàn)lask 只相當(dāng)于一個(gè)內(nèi)核,不包含數(shù)據(jù)庫抽象層ORM、用戶認(rèn)證、表單驗(yàn)證、發(fā)送郵件等其它Web框架經(jīng)常包含的功能。Flask依賴用各種靈活的擴(kuò)展(比如郵件Flask Mail,用戶認(rèn)證Flask Login,數(shù)據(jù)庫Flask SQLAlchemy)來給Web應(yīng)用添加額外功能。Flask的這種按需擴(kuò)展的靈活性是很多程序員喜歡它的地方。Flask沒有指定的數(shù)據(jù)庫,可以用MySQL,也可以用 NoSQL。
Django是一個(gè)開源的Python Web應(yīng)用框架,采用了MVT的框架模式,即模型M,視圖V和模版T,最早于2005年發(fā)布。Django被認(rèn)為是“大而全”的重量級(jí)Web框架,其自帶大量的常用工具和組件(比如數(shù)據(jù)庫ORM組件、用戶認(rèn)證、權(quán)限管理、分頁、緩存), 甚至還自帶了管理后臺(tái)Admin,適合快速開發(fā)功能完善的企業(yè)級(jí)網(wǎng)站。Django自帶免費(fèi)的數(shù)據(jù)SQLite,同時(shí)支持MySQL與PostgreSQL等多種數(shù)據(jù)庫。
流行度,F(xiàn)lask和Django均是當(dāng)今最流行的Python Web框架。截至2019年9月2日,F(xiàn)lask在Github上的星數(shù)是46179顆,Django的Github星數(shù)是43806顆,兩者幾乎難分伯仲,其它Python Web框架與Flask和Django星數(shù)相差甚遠(yuǎn)??紤]到Django早發(fā)布5年,而Flask在星數(shù)上還領(lǐng)先2000多顆,由此可以得知Flask當(dāng)前略微占優(yōu)。
從應(yīng)用上來說,F(xiàn)lask與Django均廣泛用于Web應(yīng)用開發(fā)。利用Django開發(fā)的著名網(wǎng)站包括Pinterest, Disqus, Eventbrite, Instagram and Bitbucket。不過最近Pinterest改用Flask開發(fā)它的API了。其它利用Flask開發(fā)的項(xiàng)目包括 Twilio, Netflix, Uber和LinkedIn。Django似乎更多用來開發(fā)常規(guī)網(wǎng)站,而Flask經(jīng)常用來開發(fā)API(比如Pinterest和Twilio)。(注:這點(diǎn)可以理解。如果只需要開發(fā)Web API,Django自帶的大而全的網(wǎng)站功能很多用不上,比如緩存和管理后臺(tái)。)
性能上兩者差不多。有些人會(huì)說Django會(huì)因“大而全”更慢些,其實(shí)這是Python的鍋。網(wǎng)上有人測試對比過Flask和Django的性能,兩者速度差不多,并無本質(zhì)差異。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com