Flask是一個使用Python編寫的輕量級Web應用程式框架。其 WSGI(Web Server Gateway Interface) 工具箱採用 Werkzeug ,模板引擎則使用 Jinja2 。其操作靈活、簡單易學的特性,尤其適合初學者快速瞭解Python web開發架構。本文主要以一個簡單案例來介紹Flask的特性。 1.安裝調試Flask 1.1 Flask的安裝
Windows 下Flask的安裝非常簡單,只需要在命令視窗使用pip方式安裝即可,會自動安裝Flask所依賴的各種第三方包的。
pip install Flask
因為我之前已經安裝過了,所以再用pip安裝的話,會出現一下畫面,如下圖所示:
可以看到,Flask的使用時依賴於Werkzeug和jinja2的。 1.2 Flask測試
下面就以官方文檔的hello world為例測試Flask(官方文檔連結為:http://flask.pocoo.org/)。
測試代碼如下所示:
# -*- coding: utf-8 -*-"""Created on Thu Jun 22 11:53:20 2017@author: Administrator"""#從flask庫中匯入Flask函數from flask import Flask#建立Flask對象appapp = Flask(__name__)'''(1)使用程式執行個體提供的app.route修飾器,把修飾的函數註冊為路由(2)hello_world()函數在@app.route('/')後面,當通過127.0.0.1:5000訪問伺服器時,會觸發伺服器執行hell0_world()函數'''@app.route('/')def hello_world(): return "<h1>Hello,World!</h1>"if __name__ =='__main__': #程式執行個體用run()方法啟動Flask繼承的Web伺服器 app.run()
此時在瀏覽器中輸入127.0.0.1:5000,斷行符號即可看到Hello,World。的字樣。
與此同時,python IDE中會提示接收到來自HTTP/1.1的請求,狀態代碼200,成功返回請求。
2.Flask應用案例
下面這個flask案例可以實現網頁重新導向,根據使用者名稱動態改變網頁內容。代碼如下所示:
# -*- coding: utf-8 -*-"""Created on Tue Jun 22 13:57:38 2017@author: Administrator"""from flask import Flask from flask import abort from flask import redirect __author__ = "zch" app = Flask(__name__) @app.route('/') def index(): return '<h1>Hello World!</h1>'@app.route('/user/<name>') def say_hello(name): if name == 'flask': #實現網頁重新導向 return redirect('http://blog.csdn.net/flysky1991/article/details/73571968') elif name == 'no': #返回錯誤資訊 return abort(404) #根據使用者名稱動態改變網頁內容 return '<h1>Hello,%s</h1>' % nameif __name__ == '__main__': app.run(debug=True)
測試結果如下圖所示:
輸入flask使用者名稱時,網頁自動重新導向到 http://blog.csdn.net/flysky1991/article/details/73571968