教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

全面講解Python兩大web框架

更新時間:2017年11月13日16時40分 來源:傳智播客 瀏覽次數:

在各種語言平臺中,python涌現的web框架恐怕是最多的,是一個百花齊放的世界,各種micro-framework、framework不可勝數;猜想原因應該是在python中構造框架十分簡單,使得輪子不斷被發(fā)明。所以在Python社區(qū)總有關于Python框架孰優(yōu)孰劣的話題。下面就給大家介紹一下python的幾大框架:

1、Django

Django 應該是最出名的py框架,Google App Engine甚至Erlang都有框架受它影響。

Django是走大而全的方向,它最出名的是其全自動化的管理后臺:只需要使用起ORM,做簡單的對象定義,它就能自動生成數據庫結構、以及全功能的管理后臺。

Django提供的方便,也意味著Django內置的ORM跟框架內的其他模塊耦合程度高。

應用程序必須使用Django內置的ORM,否則就不能享受到框架內提供的種種基于其ORM的便利;理論上可以切換掉其ORM模塊,但這就相當于要把裝修完畢的房子拆除重新裝修,倒不如一開始就去毛胚房做全新的裝修。

Django的賣點是超高的開發(fā)效率,其性能擴展有限;采用Django的項目,在流量達到一定規(guī)模后,都需要對其進行重構,才能滿足性能的要求。

而Django的缺點主要源自Django堅持自己造所有的輪子,整個系統(tǒng)相對封閉,Django最為人詬病的地方有:

系統(tǒng)緊耦合,如果你覺得Django內置的某項功能不是很好,想用喜歡的第三方庫來代替是很難的,比如下面將要說的ORM、Template。要在Django里用SQLAlchemy或Mako幾乎是不可能,即使打了一些補丁用上了也會讓你覺得非常非常別扭。

Django自帶的ORM遠不如SQLAlchemy強大,除了在Django這一畝三分地,SQLAlchemy是Python世界里事實上的ORM標準,其它框架都支持SQLAlchemy了,唯獨Django仍然堅持自己的那一套。Django的 開發(fā)人員對SQLAlchemy的支持也是有 過討論和嘗試的,不過最終還是放棄了,估計是代價太高且跟Django其它的模塊很難合到一塊。

Template功能比較弱,不能插入Python代碼,要寫復雜一點的邏輯需要另外用Python實現Tag或Filter。Django的模板系統(tǒng)設計十分有意思,也應該其框架內影響最大、爭議最大的部分。

Django模板的設計哲學是徹底的將代碼、樣式分離;asp.net提倡將代碼/模板分離,但技術上還是可以混合;而Django則是從根本上杜絕在模板中進行編碼、處理數據的可能。

  

本文版權歸傳智播客人工智能+Python學院所有,歡迎轉載,轉載請注明作者出處。謝謝!

作者:傳智播客人工智能+Python學院

首發(fā):http://www.xamj520.com/python/

0 分享到:
和我們在線交談!