Python WSGI和web框架學習筆記

什麼是WSGI

  1. Python Web Server Gateway Interface(pep3333)
  2. 解決Python Web Server 亂象mod_python,CGI,FastCGI等
  3. 描述了Web Server(Gunicorn/uwsgi)如何與web框架(Flask/Django)交互,web框架如何處理請求
    總:定義一個web框架的規範,有了規範可以讓任意的web 框架泡在web server上。

Python Web框架對比

Django vs Flask vs Tornado

  1. Django:大而全,內置ORM、Admin等插件、第三方插件多
  2. Flask:微框架,插件機制,比較靈活
  3. Tornado:異步支持微框架和異步網絡庫

什麼是MVC模式

MVC:Model、View、Controller,出現這幾層主要原因還是爲了解耦

  1. Model:負責業務對象和數據庫的交互(ORM)
  2. VIew:負責與用戶交互展示
  3. Controller:接受請求參數調用模型和視圖來完成請求

什麼是ORM

  1. 用於實現業務對象與數據表中的字段映射
  2. 優勢:代碼更加面向對象、代碼量更少、靈活性更高、提升開發效率
  3. 缺點:拼接對象比較耗時,有一定性能影響(優先使用ORM框架提升開發效率和可維護性)

一個web框架有哪些部分組成

  1. 中間件:用於請求之前和請求之後做一些處理(比如記錄日記)
  2. 路由、表單驗證、權限認證、ORM、視圖函數、模板渲染、序列化
  3. 第三方插件:redis,restful支持等

什麼是Gunicorn

  1. 純python編寫的高性能WSGI Server
  2. pre-fork預先分配多個worker進程處理請求(master-slave)
  3. 支持多種worker:Sync/Async(Gevent)/Tornado/AsyncIO
發佈了20 篇原創文章 · 獲贊 6 · 訪問量 2822
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章