系列文章:
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,等上傳文件的時候,我們再來看下具體的情況。
文章首發在公眾號,歡迎關注。