iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0
WordPress

透過WordPress架設電商網站,並串接管理後台系列 第 13

«D13»簡單了解一下 Python Flask 輕量級網頁架構

  • 分享至 

  • xImage
  •  

Flask 是一個用 Python 語言寫的輕量級網頁架構,不到 10 行程式碼,就可以有個自己的網頁。
如果你是初學者不要嚇到,雖然很多很多資訊名詞,但其實作為程式碼通常就是 3 行......原因主要是在資訊領域每個小東東都可以變成大專業,很容易拓展,總之像我完全不是資訊類背景也可以輕鬆學來,請不必擔心!

我們讓 ChatGPT 4 來簡單介紹一下。

以下是 Flask 的一些特色:

1.**簡單且靈活:**Flask 提供基本的路由、錯誤處理和網頁伺服器的功能,但不包含資料庫、表單驗證或其他許多現代網頁應用可能需要的功能。這樣的設計讓開發者可以自由地選擇他們需要的其他功能。
2.**擴展性:**雖然 Flask 是「輕量」的,但它是高度可擴展的。有大量的 Flask 擴展可供選擇,這些擴展可以增加各種功能,如資料庫集成、表單驗證、上傳處理、OAuth 和其他許多功能。
3.**開發伺服器和除錯器:**Flask 內建一個快速的開發伺服器,以及一個有用的除錯器和交互式除錯控制台。
4.**RESTful 請求分發:**Flask 天生支援 RESTful 請求分發,使其成為開發 RESTful API 的理想選擇。
5.**模板引擎:**Flask 使用 Jinja2 模板引擎,它是一個功能強大且易於使用的模板語言。

我會選擇 Flask 主要是因為他是 Python 語言的套件,對於本來就對 Python 熟悉的人絕對是不二之選,在 Python 中要寫出 Request 以及 RESTful API 也是輕輕鬆鬆的事,對我們之後要接收 WooCommerce 的 Webhook 並使用 Ragic 的 RESTful API 也非常方便。

下面簡單 Demo 一下 Flask 運作:
如果還沒有用過 Flask 要先在你的環境 pip install flask,我習慣用 VS Code,沒有終端機的話可以點擊左下角,然後選擇終端機
https://ithelp.ithome.com.tw/upload/images/20230913/20162937twKsl0Np6l.png

# 引入 Flask
from flask import Flask

# 設定 Flask
app = Flask(__name__)

# Flask 的預設路由(route);每個路由下面都必須有個處理程序,當使用者到這個網址後就會執行;return 是伺服器(Flask)回傳給瀏覽器的東東,可以設定讓使用者看到的東東以及回傳伺服器代碼(像是 200, 404, 401, 500 之類的)
@app.route('/')
def home():
    return '嗨我第一次用 Flask 請多指教!'

# 當 Flask 是直接執行(main)的時候 Flaks 就會 run
if __name__ == '__main__':
    app.run()

在執行結果可以看到 ip(通常是 127.0.0.1),記得看看 Port 是多少,並加在 ip 後面,例如:127.0.0.1:5000,點進就會出現「嗨我第一次用 Flask 請多指教!」。
https://ithelp.ithome.com.tw/upload/images/20230913/20162937ND3oL4VzeV.png

這邊最下面一行的 "GET / HTTP/1.1" 是指你到達瀏覽器的方法,一般直接用瀏覽器進到 ip 都會是 GET,後面接的 200 就是伺服器回傳給瀏覽器的代碼,如果是常見的 404 就是找不到這個頁面的意思
https://ithelp.ithome.com.tw/upload/images/20230913/20162937rdKWwTkBFo.png
https://ithelp.ithome.com.tw/upload/images/20230913/20162937LEwf2KxTPp.png

如果是在 Google Colab 會需要使用 pip install flask-ngrok,因為 Google 好像不直接提供他執行環境的 Public IP,必須要用 ngrok 生出一個

pip install flask-ngrok
from flask import Flask
from flask_ngrok import run_with_ngrok

app = Flask(__name__)
run_with_ngrok(app)  # 使用 ngrok 來啟動 flask

@app.route("/")
def home():
    return "嗨我第一次用 Flask 請多指教!"

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

https://ithelp.ithome.com.tw/upload/images/20230913/201629375oZWvQ4xgr.png
https://ithelp.ithome.com.tw/upload/images/20230913/20162937q0vpTGnm7o.png

然後應該是要登入,但我沒有打算用 Colab,要用的請去問問 ChatGPT
https://ithelp.ithome.com.tw/upload/images/20230913/20162937ovRlhiQtSR.png

可以想像在 @app.route 跟 return 之間可以執行超多的事情。
這樣你就入門 Flask 了呀~恭恭喜喜!


上一篇
«D12»熟悉 Microsoft Visual Studio Code
下一篇
«D14»Ragic API 實際應用
系列文
透過WordPress架設電商網站,並串接管理後台30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言