python庫Django,Flask各有什麼用途?


稍微總結 Django 和 Flask 的特點:

  • Django 提供了一系列的比較成熟的解決方案,鼓勵用戶使用這些現成的解決方案來快速開發系統。這些解決方案看似獨立,其實在不同程度上互相配合,Django 這些 All in one 的理念,尤其擅長於開發電商系統。

  • Flask 是一個微框架,其提供了比較完善的 Web 伺服器所需的基本功能,同時允許且建議用戶自由選擇擴展的技術。Flask 適合開發 API 服務(如有獨立的許可權系統,依賴的第三方組件)。

其二者的區別包括但不限於:

  • 許可權系統
  • 緩存中間件
  • 資料庫ORM
  • 模板引擎
  • 國際化處理

Flask適合做app後台或基於json通信的ajax應用,是輕量級框架,我用到的一個技術方案是pypy+ Flask +peewee + uWSGI + nginx + ubuntu server,速度快,開發效率高,主要是通過伺服器返回json數據(json可以用壓縮方式)走http和各個app交互,你也可以用Flask+WebSocket實現類似在線遊戲的長連接,數據格式建議用json,如果有性能要求可以用Protocol Buffers協議。這樣基於json api(RESTful太底層了,一般用json文本就可以了)的開發方式,一套後台程序,可以用於ajax網頁,android,ios,pc,tv等多套app,最大程度滿足了軟體復用思想,否則一個app開發一個後台或變種後台,代價非常高,也不利於安全和性能。微服務就是這種思想擴展,但主要是針對企業應用,web2.0發展以來,一般應用用http api生成json數據交互就好,mvc模式不適合在http api上用,mvc模式是web1.0時代沒有ajax,json無法分離html的妥協解決方案。http調用類似函數一樣,有入口參數,返回json給調用者,當然可以在返回時加密、壓縮,從而實現低耦合高內聚。另外對於http api需要防止注入攻擊,加強許可權控制,限制調用次數。

Django屬於重量級的,很多東西是現存的,只要熟悉就可以用,但缺點是不如Flask定製靈活,適合用於普通的web應用。


相同點:

1)python面向web開發的框架

2)非常有人氣的框架

不同點:

flask:設計之初,考慮面向小型應用的微框架,靈活性伸縮性很好

Django;面向的是相對大型應用的,提供的模塊很多,開發更方便

框架這東西,仁者見仁智者見智,適合自己的業務,能滿足需求,用起來happy,我認為就是做好的。

我和小夥伴做的技術社區收錄了很多這兩個框架的文章,看能否幫到你


flask是自助餐,自己選擇要吃的東西;django是套餐,幫你點好了


Flask 和 Django 是同步的,並發連接不可能很高,會不會意味著這兩者的性能都有限?


都是為了快速開發web後端。Django開發速度更快一點。


推薦閱讀:

Django 有哪些局限性?
寫Python的時候,你有哪些奇技淫巧??
如何將django項目用Nginx部署到伺服器?
PHP 比 Python 牛在哪?
requests 和 scrapy 在不同的爬蟲應用中,各自有什麼優勢?

TAG:Python | Django框架 | Flask | Python框架 |