-
初始化
所有Flask程序都必須創建一個程序實例。
程序實例是Flask類的對象,經常使用下述代碼創建:
from flask import Flask app = Flask(__name__)
Flask類的構造函數只有一個必須指定的參數,及程序主模塊或包的名字。
在大多數程序中,Python的__name__變量就是所需的值。
-
路由和視圖函數
客戶端把請求發送給Web服務器,Web服務器再把請求發送給Flask程序實例。
程序實例需要知道對每個URL請求運行哪些代碼,所以保存了一個URL到python函數的映射關系。處理URL和函數之間關系的程序成為路由。
在Flask程序中定義路由的最簡便方式,是使用程序實例提供的app.route修飾器,把修飾函數注冊為路由。
如下面的例子所示:
@app.route('/') def index(): return '<h1>Hello World!<h1>'
上面的例子把index()函數注冊為程序根地址的處理程序。如果部署程序的服務器域名為www.example.com,在瀏覽器訪問http://www.example.com后,會觸發服務器執行index()函數。這個函數的返回值成為響應,是客戶端接收到的內容。
像index()這樣的函數稱為視圖函數。
-
啟動服務器
程序實例用run方法啟動Flask集成的開發Web服務器:
if __name__ == '__main__': app.run(debug=True)
__name__ == '__main__'是python的慣常用法,在這里確保直接執行這個腳本時才啟動開發Web服務器。
-
一個完整的小程序
前面介紹了Flask Web程序的不同組成部分,開始寫一個程序了。
整個manman.py腳本程序就是把前面介紹的三部分合並到一個文件中。
程序代碼如下所示:
# -*- coding: utf-8 -*- # manman.py 一個簡單的小程序 from flask import Flask app = Flask(__name__) @app.route('/') def index(): return '<h1>曼曼,早上好,中午好,晚上好!<h1>' if __name__ == '__main__': app.run(debug=True)
運行這個程序,然后在瀏覽器中輸入地址:http://127.0.0.1:5000/
就會看到:
好了,關於Flask Web簡單小程序就介紹到這里。
:)