FastAPI 學習之路(十六)Form表單
阿新 • • 發佈:2021-10-17
系列文章:
FastAPI 學習之路(一)fastapi--高效能web開發框架
FastAPI 學習之路(十二)介面幾個額外資訊和額外資料型別
FastAPI 學習之路(十三)Cookie 引數,Header引數
我們首先來安裝下,
pip install python-multipart
我們去實現一個登入的表單。當密碼等於leizi返回使用者名稱,其他的返回失敗。
from fastapi import FastAPI, Form app = FastAPI() @app.post("/login/") def login(username: str = Form(...), password: str = Form(...)):if password == "leizi": return {"username": username} return "密碼錯誤"
我們看下除錯的結果
我們輸入正確的使用者名稱密碼。
這樣一個簡單的Form表單就完成了。其實還是很簡單的就是匯入對應的依賴庫,然後去組織對應的請求即可。那麼我們再來實現一個需求。
我們現在有一個註冊的表單,我們的使用者名稱長度為8-16位的字母,密碼的長度是8-16位的數字。符合要求,我們認為註冊成功,返回對應的使用者名稱。這樣的需求我們應該怎麼實現。
from fastapi import FastAPI, Form app= FastAPI() @app.post("/regin") def regin(username:str=Form(...,max_length=16,min_length=8,regex='[a-zA-Z]'), password:str=Form(...,max_length=16,min_length=8,regex='[0-9]')): return {"username":username}
其實很簡單的,那麼我們除錯下,看是否是滿足我們的需求的,我們先來正確的測試。
我們看下我們的使用者名稱不符合要求的時候,如何展示
那麼我們的密碼處理的呢
可以看到我們的一個簡單的登錄檔單就實現了,我們也做了簡單的測試。
注意:表單資料的「媒體型別」編碼一般為application/x-www-form-urlencoded。
但包含檔案的表單編碼為multipart/form-data,等上傳檔案的時候,我們再來看下具體的情況。
文章首發在公眾號,歡迎關注。