FastAPI 學習之路(十六)Form表單


系列文章:

  FastAPI 學習之路(一)fastapi--高性能web開發框架

  FastAPI 學習之路(二)

  FastAPI 學習之路(三)

  FastAPI 學習之路(四)

  FastAPI 學習之路(五)

      FastAPI 學習之路(六)查詢參數,字符串的校驗

  FastAPI 學習之路(七)字符串的校驗

    FastAPI 學習之路(八)路徑參數和數值的校驗

  FastAPI 學習之路(九)請求體有多個參數如何處理?

  FastAPI 學習之路(十)請求體的字段

      FastAPI 學習之路(十一)請求體 - 嵌套模型 

    FastAPI 學習之路(十二)接口幾個額外信息和額外數據類型

      FastAPI 學習之路(十三)Cookie 參數,Header參數

    FastAPI 學習之路(十四)響應模型

  FastAPI 學習之路(十五)響應狀態碼

我們首先來安裝下,

 

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,等上傳文件的時候,我們再來看下具體的情況。

文章首發在公眾號,歡迎關注。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM