在前面的章節中,我們已介紹過 Django。Django 提供了許多開發 Web Application 所需的模組,其優點是能夠顯著加快開發速度。然而,與此同時,Django 的缺點在於其客製化彈性較低,Web Application 的架構和邏輯需要嚴格遵循 Django 的框架。因此,對於某些特定功能的需求,可能難以實現。在這種情況下,開發者可能會考慮使用其他套件或框架,以獲得更高的客製化自由度。
另一個常見的選擇是 Flask。Flask 是一個輕量化的框架套件,與 Django 不同的是,它基本上不提供任何內建的 Web Application 模組。因此,開發者可以根據自己的需求,自行選擇並實作所需的模組。接下來,我們將通過範例來進行介紹。
本次範例使用的是 Flask 2.3.3 版本
poetry add Flask==2.3.3
開發者只需要一個檔案就能完成最簡單的 Web Application,例如建立以下的 index.py
檔案。接著,只需執行 poetry run flask --app index run
,然後在 Web Browser 中輸入 localhost:5000
,即可查看應用程式的成果。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Index Page'
開發者可以根據自身需求新增 route。例如,以下範例新增了一個 URL,讓使用者能夠根據商品編號來獲取商品資訊
@app.route('/products/<product_id>')
def get_product(product_id):
# get the product with the given id
return {
'id': product_id,
'name': 'demo product',
}
上述範例中的 URL 設計格式是開發者常用的 RESTful 格式。這種格式以資源為單位進行設計,例如 users(使用者)和 products(商品)都被視為資源。如果想要查找編號為 35567 的商品,可以使用 /products/35567
這樣的 URL 來取得該商品的資訊,而回傳的格式通常為 JSON 格式。