參考原文
wsgi介面
wsgi(web server gateway inte***ce)是乙個介面,用來遮蔽底部的細節(如tcp的建立連線,http原始請求和響應格式等)。wsgi介面定義非常簡單,只需要web開發者實現乙個函式,就可以響應客戶端的http請求。
這個函式有兩個引數:environ:包含所有的htttp請求的dict物件;start_response:乙個傳送http響應的函式。
這兩個引數,我們是沒有辦法提供的,是需要符合wsgi規範的伺服器來提供的。
python內建了乙個wsgi伺服器,這個模組就wsgiref,是用純python編寫的,不考慮任何的執行效率,僅供開發和測試使用。接下來,我們就來實現乙個基本的響應請求的處理。
首先,編寫hello.py,用於實現web應用程式的wsgi處理函式:
#hello.py
start_response('200 ok',[('content-type', 'text/html')])#返回響應的主體
return [b'
#server.py#匯入響應的模組函式:
在命令列可以看到wsgiref列印的log:
我們也可以根據environ裡的引數資訊,來生成動態的html。
總結:無論多麼複雜的web應用程式,入口都是乙個wsgi處理函式。http請求的所有輸入資訊都可以通過environ獲得,http響應的輸出都可以通過start_response()加上函式返回值作為body。
使用web框架
python中的web框架非常多,我們先直接選擇乙個比較流行的web框架——flask來使用。
首先使用pip(python包管理工具)來安裝flask:
sudo apt install python-pip #安裝pip
pip install flask#安裝flask
get / : 首頁,返回home頁
get /signin : 登陸頁,顯示登陸表單,用於使用者登陸
post /signin : 處理使用者輸入的登陸表單,返回登陸結果
flask通過python的裝飾器在內部自動地把url和函式給關聯起來,所以我們寫出的**應該這樣:
繼續輸入http://localhost:5000/signin:
輸入預設的使用者名稱admin和密碼password,登入成功:
輸入錯誤的資訊:
python web開發框架
django python web應用開發框架 django 應該是最出名的python框架,gae甚至erlang都有框架受它影響。django是走大而全的方向,它最出名的是其全自動化的管理後台 只需要使用起orm,做簡單的物件定義,它就能自動生成資料庫結構 以及全功能的管理後台。diesel 基...
Python Web開發框架
python中的web框架 flask例程 可重用成熟,穩健 可擴充套件性良好 提高開發速度 web框架中的概念 大包大攬的django 優點 完美文件。全套解決方案 cache,session,orm 強大的url路由配置 自助管理後台 缺點 系統緊耦合 自帶的orm不夠強大 template比較...
python web開發 Django後台管理
django自帶了管理後台,而且非常強大,這個模組是settings.py 中配置的django.contrib.admin應用。我們首先來建立乙個後台管理員使用者,並為其設定密碼。建立賬號 python manage.py createsuperuser會要求我們輸入使用者名稱 郵箱和密碼。建立好...