前面六天,我們從前端和後端開始,慢慢認識了 HTTP、Request、Response、API、HTTP Method,以及 REST API 的基本概念。
不過到目前為止,主要都還是在了解這些觀念。
從今天開始,就要正式進入實作,使用 Python 的 Flask 來建立後端程式。
Flask 是一個使用 Python 開發 Web 應用程式的 Web Framework(框架)。
可以先把 Framework 理解成一個幫助我們開發程式的工具,它已經提供了一些常用的功能,讓我們可以直接使用,不需要重頭開始寫
像是我們前面講的建立一個後端程式,讓它可以接收 HTTP Request,並回傳 Response,Flask 就可以幫助我們完成這些事情。
安裝 Flask
要先確認電腦已經安裝 Python
打開終端機,輸入:
python --version
然後建一個資料夾(練習用的)
例如(資料夾名稱可以不用一樣):
mkdir ff
cd ff
建虛擬環境:
python -m venv .venv
啟動:
.venv\Scripts\Activate.ps1
下載:
pip install Flask==3.1.3
可以用Vscode開啟剛剛創的資料夾在裡面建一個檔案:
app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hiiiii():
return "Hi Flask!"
if __name__ == '__main__':
app.run(debug=True)
pip install Flask==3.1.3我們剛剛安裝了Flask
雖然他安裝好了但是不代表app.py在使用它
from flask import Flask
= 從剛剛安裝的 flask 套件中,匯入 Flask 這個類別,讓我們可以在程式中使用它
app = Flask(__name__)
= 用剛剛匯入的 Flask 建一個 Flask 物件並放進app這個變數裡
@app.route('/')
還記得我們前面有說到/tasks嗎
如果請求到這個路徑(Path)
就執行下面的程式:
def hiiiii():
return "Hi Flask!"
然後這個函數會把回傳值給Flask。
Flask 會把這個回傳做成 HTTP Response 的內容,送回給瀏覽器。
瀏覽器
↓ Request請求
Flask
↓ 找到 /並執行下面程式
hiiiii()
↓ return "Hi Flask!"
Flask
↓ Response
瀏覽器看到 Hi Flask!
if __name__ == '__main__':
app.run(debug=True)
執行 app.py ,這個條件會成立,然後執行下面app.run(debug=True),啟動 Flask 的開發用 Server。
debug=True 則是開啟除錯模式
啟動 Flask Server:
python app.py
終端機會看到類似:
* Running on http://127.0.0.1:5000
可以開啟這個網址,在瀏覽器中進入:http://127.0.0.1:5000/
畫面成功會出現:
今天完成了第一個 Flask 程式,也實際看到前面提過的 Request 和 Response 是怎麼透過 Flask 運作的。
我們目前只有設定 / 這個 Path,之後可能會想要建/users 或 /tasks 等不同的 Path,要怎麼讓 Flask 知道不同的 Request 應該交給哪一段程式處理?
下一篇就來認識 Flask 的 Route
看看@app.route() 吧!