'''
@app.route('/signin', methods=['POST'])
def signin():
# 需要從request對象讀取表單內容:
if request.form['username']=='admin' and request.form['password']=='password':
return '
Hello, admin!
'return '
Bad username or password.
'if __name__ == '__main__':
app.run()
運行python app.py,Flask自帶的Server在端口5000上監聽:
$ python app.py
* Running on http://127.0.0.1:5000/
打開瀏覽器,輸入首頁地址http://localhost:5000/:
首頁顯示正確!
再在瀏覽器地址欄輸入http://localhost:5000/signin,會顯示登錄表單:
輸入預設的用戶名admin和口令password,登錄成功:
輸入其他錯誤的用戶名和口令,登錄失敗:
實際的Web App應該拿到用戶名和口令後,去數據庫查詢再比對,來判斷用戶是否能登錄成功。
除了Flask,常見的Python Web框架還有:
- Django:全能型Web框架;
- web.py:一個小巧的Web框架;
- Bottle:和Flask類似的Web框架;
- Tornado:Facebook的開源異步Web框架。
當然了,因為開發Python的Web框架也不是什麼難事,我們後面也會講到開發Web框架的內容。
小結
有了Web框架,我們在編寫Web應用時,注意力就從WSGI處理函數轉移到URL+對應的處理函數,這樣,編寫Web App就更加簡單了。
在編寫URL處理函數時,除了配置URL外,從HTTP請求拿到用戶數據也是非常重要的。Web框架都提供了自己的API來實現這些功能。Flask通過request.form['name']來獲取表單的內容。
閱讀更多 徒手憶歲月 的文章