python的網路框架好多種,所謂的網路框架,就是指一組python包,這些包能夠使開發者專注與**應用業務邏輯的的開,而無需處理網路應用底層的協議,執行緒,程序等方面的問題。
幾乎所有的全棧網路框架都是強制或者引導開發者使用mvc架構開發web應用
全棧網路框架:是指除了封裝網路和執行緒操作,還提供了http棧,資料庫讀寫管理,html模板渲染引擎等一系列功能的網路框架。
django,tornado和flask是全棧網路框架常用的,
twisted更專注與網路底層的高效能封裝而不提供html模板引擎介面功能,不能稱之為全棧框架。
mvc模式:model-view-controller將web分成三個基本的部分
模型(model):用於封裝與應用程式的業務邏輯相關的資料,以及對資料的處理方法,是web應用程式中用於處理應用程式的資料邏輯部分,model只提供功能性的介面,通過這些介面可以獲取model的所有功能。model不依賴與view和controller,他們可以在任何時候呼叫model訪問資料,有些model還提供了事件通知機制,為在其上註冊過的view或者controller提供實時的資料更新。
檢視(view):負責資料的顯示和呈現,view是對使用者的直接輸出。mvc中的乙個model通常為多個view提供服務,為了獲取model的實時更新資料,view應該盡早地註冊到model中。
控制器(controller):負責從使用者端收集使用者的輸入,可以看成是view的反向功能。當使用者的輸入導致view發生變化,這種變化必須是通過model反映給view的。在mvc架構下,controller一般不能與view直接通訊,這樣可以提供業務資料的一致性,即以model作為資料中心。
這三個基本部分相互分離,這樣在改進和公升級介面以及使用者互動流程的時候,不需要重寫業務邏輯以及資料庫的訪問**。
tornado 是乙個強大的,支援協程,高效可併發,可擴充套件的web伺服器,強項在與利用它的非同步協程機制開發高併發的伺服器系統。
flask:適用於微小專案上
twisted: 適用於從傳輸層到自定義應用協議的所有型別的網路程式開發,並能在不同的操作上提供很高的執行效率
安裝pip 工具
安裝虛環境
pip install virtualenv
virtualenv venv 執行後,會在當前目錄中新建乙個venv的目錄,該目錄複製了乙份完整的當前系統的pyhon環境,之後執行python的時候可以直接執行該目錄的bin資料夾的命令。
在虛環境下安裝元件: ./venv/bin/ pip install tornado元件,或者執行python程式: ./env/bin/pyhton ***.py
或者soure ./venv/bin/activate 進入的venv環境,不需要每次執行命令都帶字首,退出使用deactive
安裝框架
pip install flask
公升級:pip install -u flask到最新版本
解除安裝:pip uninstall flask
web伺服器是兩節使用者瀏覽器與python伺服器端程式的中間節點。目前主流的web伺服器包括nginx, apache,lighthttpd, iis等。python伺服器端程式在linux平台下使用最多的是nginx.
wsgi: web server gateway inte***ce(web伺服器閘道器介面)。是將python伺服器端程式連線到web伺服器的通用協議,為python語言定義web伺服器和伺服器端程式的通用介面規範。
最底層是python伺服器端程式,中間是wsgi server ,上一層是web伺服器
可見wsgi的介面分為兩個:乙個與web伺服器的介面連線,另乙個是伺服器端程式的介面連線。
Python網路框架框架縱覽
最成熟 最廣泛 功能強大 相對封閉 這是因為django的各模組之間結合緊密 強大的 支援協程 高效併發 可擴充套件的web伺服器。其強項在於可以利用它的非同步協程機制開發高併發的伺服器系統。核心功能簡單,以擴充套件元件形式增加其他功能,被稱為 微框架 不著眼於網路http應用的開發,而是適用於從傳...
最新資料中心網路架構技術縱覽
網路是資料中心的最重要組成部分,主要由大量的二層接入裝置和少量的三層裝置組成的網路結構。以前,資料中心的網路規模普遍不大,網路通過數十台裝置簡單互連就可達到互聯互通的目的。而現在,資料中心對網路的要求越來越高,為了滿足各種應用,網路架構也需要及時調整,網路架構經歷了多種多樣的變化。在乙個資料中心建設...
Python網路爬蟲之框架1
scrapy不是乙個簡單的函式功能庫,而是乙個爬蟲框架 爬蟲框架 engine 已有的,核心,控制所有模組之間的資料流,根據條件觸發事件 scheduler 已有的,對所有的爬蟲請求進行排程管理 item pipelines 框架出口,使用者編寫,以流水線方式處理spider產生的爬取項,由一組操作...