在Python語言中,主要有3個框架,它們是:Flask、Django、Tornado,各有各的獨特優(yōu)勢,也是學(xué)習(xí)Python時必須掌握的框架,那么它們之間有什么區(qū)別呢?讓我們來看看介紹。
Django:Python世界中功能最全的Web開發(fā)框架,功能齊全,可維護性強,開發(fā)速度快。人們常說Django很慢,其實慢的主要是DjangoORM和數(shù)據(jù)庫的交互,所以是否選擇使用Django要看項目對數(shù)據(jù)庫交互性和各種優(yōu)化的要求。至于Django的同步特性導(dǎo)致的吞吐量低的問題,其實可以通過Celery等解決,不是根本問題。Django代表的項目有:Instagram、Guardian等。
Flask:它是微框架的典范,也是用Python代碼編寫的最好的項目之一。Flask框架非常靈活,但它也是一把雙刃劍。如果Flask用得好,就可以做成Pinterest。如果用得不好,不會有太大的效果。雖然Flask是一個微框架,但它也可以做成一個大規(guī)模的Flask。另外Flask可以自由選擇自己的數(shù)據(jù)庫交互組件,加入celeryredis等異步特性后,flask框架的性能非常好,很多團隊選擇flask框架的主要原因是對靈活性的要求。
Tornado:天生的異步和強大,這就是它的代名詞。與Django相比,Tornado是一個比較原始的框架,很多內(nèi)容需要自己處理。但是隨著項目的不斷壯大,框架能夠提供的功能比例越來越小,更多的內(nèi)容需要團隊自己去實現(xiàn),大項目往往需要性能保證,Tornado在這個時候是一個非常好的選擇。代表項目:知乎等。