亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

第一個 Flask 應用程序

前面的小節中我們已經講解了 Web 框架,開發環境搭建以及特別重要的裝飾器等等知識。那么從這節課開始我們就要正式開始 Flask 框架的學習了。

本節課我們會創建一個最簡單的 Flask 程序,通過這個程序我們會了解到 Flask 框架的基本應用。

Tips:本節課所有的代碼已經上傳到 Github 可以點擊這里進行下載。

1. 安裝 flask

Flask 是一個 Web 框架,使用它首先需要安裝:

$ pip3 install flask

安裝完畢后,在 Python 的交互模式下,嘗試導入 Flask 模塊:

>>> import flask

如果 import 沒有報錯,表示安裝成功

2. 一個最小的 Flask 應用

確定安裝成功后我們創建一個 minimal.py 文件,并寫入下面的代碼:

from flask import Flask
app = Flask(__name__)

首先,導入類 flask.Flask,實例化創建一個 Flask 應用,第一個參數是 Flask 應用的名稱。__name__ 是一個標識 Python 模塊的名字的變量:

  • 如果當前模塊是主模塊,那么此模塊名字就是 __main__;
  • 如果當前模塊是被 import 的,則此模塊名字為文件名。
@app.route('/')
def hello_world():
    return '<b>Hello World</b>'

然后,定義函數 hello_world,它返回一段 html 文本。app.route(’/’) 返回一個裝飾器,裝飾器來為函數 hello_world 綁定對應的 URL,當用戶在瀏覽器訪問這個 URL 的時候,就會觸發這個函數,獲取返回值。

if __name__ == '__main__':
    app.run()

如果當前模塊是主模塊,則變量 __name__ 為 '__main__,此時調用 run() 方法啟動 Flask 應用。

運行該程序,在瀏覽器中輸入 localhost:5000,瀏覽器顯示如下:

圖片描述

在控制臺中,Flask 應用輸出如下:

$ python3 hello.py
 * Serving Flask app "hello" (lazy loading)
 * Environment: production
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [20/Jul/2020 08:26:47] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [20/Jul/2020 08:26:47] "GET /favicon.ico HTTP/1.1" 404 -

這樣,我們就已經搭建好了一個最簡單的 Flask 應用。

3. 修改監聽地址和端口

上面說到要在瀏覽器中輸入 localhost:5000 才能看到運行效果。其中 localhost 代表本地 IP 地址,你也可以把 localhost 改成 127.0.0.1,效果和 localhost 是一樣的。那么 5000 代表什么呢?

其實 5000 是一個端口號,你可以把端口號理解為是門牌號。我們的電腦會為每一個應用程序劃分運行區間,每一個運行區間的標識就是端口號,我們可以通過端口號來訪問對應的應用程序,這和你在酒店根據門牌號找到房間是一個道理。

默認情況下,Flask 應用程序監聽地址 127.0.0.1 和端口 5000。如果你不想讓 Flask 程序運行在 5000 端口,也可以通過參數設置可以修改默認的監聽地址和端口,比如我們想讓 Flask 程序運行在一個比較吉利的端口 8888 上面,可以這樣修改代碼:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return '<b>Hello World</b>'

if __name__ == '__main__':
    app.run(host = '0.0.0.0', port = 8888)

設定 app.run 的函數參數 host 為 ‘0.0.0.0’,表示監聽每一個可用的網絡接口;設定 app.run 的函數參數 port 為 8888,表示監聽端口 8888。

5. 小結

本節講解了 Flask 應用程序的基本框架,程序的功能是訪問 / 路徑時,返回一段 HTML 文本。創建一個最小化的 Flask 應用,使用思維導圖概括如下:

圖片描述