flask和django的對比 flask還是django哪個更適合初學者


【flask和django的對比 flask還是django哪個更適合初學者】flask和django的對比如下:

Flask是一個由Python語言寫成的輕量級Web框架 , 最早由奧地利人Armin Ronacher于2010年發布 。Flask最顯著的特點是它是一個“微”框架 , 輕便靈活,但同時又易于擴展 。默認情況下,Flask 只相當于一個內核,不包含數據庫抽象層ORM、用戶認證、表單驗證、發送郵件等其它Web框架經常包含的功能 。Flask依賴用各種靈活的擴展(比如郵件Flask Mail,用戶認證Flask Login,數據庫Flask SQLAlchemy)來給Web應用添加額外功能 。Flask的這種按需擴展的靈活性是很多程序員喜歡它的地方 。Flask沒有指定的數據庫,可以用MySQL,也可以用 NoSQL 。


Django是一個開源的Python Web應用框架,采用了MVT的框架模式,即模型M,視圖V和模版T,最早于2005年發布 。Django被認為是“大而全”的重量級Web框架 , 其自帶大量的常用工具和組件(比如數據庫ORM組件、用戶認證、權限管理、分頁、緩存), 甚至還自帶了管理后臺Admin , 適合快速開發功能完善的企業級網站 。Django自帶免費的數據SQLite,同時支持MySQL與PostgreSQL等多種數據庫 。


流行度,Flask和Django均是當今最流行的Python Web框架 。截至2019年9月2日,Flask在Github上的星數是46179顆,Django的Github星數是43806顆 , 兩者幾乎難分伯仲,其它Python Web框架與Flask和Django星數相差甚遠 。考慮到Django早發布5年,而Flask在星數上還領先2000多顆,由此可以得知Flask當前略微占優 。


從應用上來說,Flask與Django均廣泛用于Web應用開發 。利用Django開發的著名網站包括Pinterest, Disqus, Eventbrite, Instagram and Bitbucket 。不過最近Pinterest改用Flask開發它的API了 。其它利用Flask開發的項目包括 Twilio, Netflix, Uber和LinkedIn 。Django似乎更多用來開發常規網站,而Flask經常用來開發API(比如Pinterest和Twilio) 。(注:這點可以理解 。如果只需要開發Web API,Django自帶的大而全的網站功能很多用不上,比如緩存和管理后臺 。)

性能上兩者差不多 。有些人會說Django會因“大而全”更慢些 , 其實這是Python的鍋 。網上有人測試對比過Flask和Django的性能,兩者速度差不多 , 并無本質差異 。


經驗總結擴展閱讀