-
1、Uvicorn:是異步web框架服務(wù)的包。
2、搭配Gunicorn的Uvicorn可實(shí)現(xiàn)異步多線程的服務(wù)。
查看全部 -
1、pydantic:數(shù)據(jù)格式化的一個(gè)庫(kù)。能夠定義好調(diào)用時(shí)的參數(shù)類型控制,以及返回時(shí)的序列化。
2、starlette:異步的web框架
查看全部 -
1、引用其他包的時(shí)候,要注意版本問題,有時(shí)候版本差異會(huì)造成BUG
查看全部 -
from?jose?import?JWTError,?jwt
如果使用的python版本比較高的話,可能不支持這種導(dǎo)入了。
如果發(fā)現(xiàn)這種導(dǎo)包不對(duì),可以嘗試: pip install PyJWT
然后直接 import jwt 就可以了
JWTError也不再支持,可以嘗試使用 jwt 下的 異常模塊
查看全部 -
混合傳參:
路徑校驗(yàn)用 Path 類
字段校驗(yàn)用 Field?類
查詢校驗(yàn)用 Query?類
查看全部 -
class?CityInfo(BaseModel): ????name:str=Field(...,Example="BeiJing") ????country?:?str ????country_code:str=None ????country_population:ubt?=?Field(default=800) ???? @app.post("/request_body/city") def?city_info(city:CityInfo): ????print(city.name,city.country) ????return?city.dict()
查看全部 -
參數(shù)傳參
查看全部 -
安裝包
1,包的版本問題
存在兼容性的問題
2.通過requirements.txt 安裝
pip install requirements.txt
查看全部 -
from typing import List
def process_time(item: List[str]):
????pass
查看全部 -
包的版本問題
兼容性問題
查看全部 -
安裝依賴包,注意關(guān)注版本
查看全部 -
使用pydantic模型來進(jìn)行put和post的數(shù)據(jù)請(qǐng)求
查看全部 -
使用Optional來讓查詢參數(shù)可選
查看全部 -
兩個(gè)斜杠之間的參數(shù)叫做【路徑參數(shù)】
?q=后面的參數(shù)叫做【查詢參數(shù)】
直接定義在函數(shù)的參數(shù)里面
查看全部 -
pydantic模塊中引入BaseModel構(gòu)建基本數(shù)據(jù)模型,ValidationError來捕獲在對(duì)模型校驗(yàn)時(shí)發(fā)生的異常
從typing模塊中引入List、Optional等類,方便進(jìn)行類型標(biāo)注
繼承了BaseModel的自定義數(shù)據(jù)模型類,可以使用如下方法來達(dá)到數(shù)據(jù)的轉(zhuǎn)換:
實(shí)例.dict() --> 返回python的字典類型
實(shí)例.json() --> 返回json字符串
實(shí)例.copy() --> 淺拷貝數(shù)據(jù)
類.parse_obj(obj=...) --> 將python的字典類型轉(zhuǎn)換為數(shù)據(jù)模型
類.parse_raw(str) --> 將json字符串轉(zhuǎn)換為數(shù)據(jù)模型
類.parse_file(path) --> 將文件內(nèi)的json數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)模型
實(shí)例.schema() --> 返回schema形式的數(shù)據(jù)格式
實(shí)例.schema_json() --> 以json字符串來返回schema形式的數(shù)據(jù)
類.construct(obj=) --> 不執(zhí)行數(shù)據(jù)類型校驗(yàn)的parse_obj
4. pydantic模型可以互相嵌套
5. 使用sqlalchemy中構(gòu)建ORM模型,并在pydantic模型中建立聯(lián)系
6. 使用pydantic模型類的from_orm()方法來構(gòu)造ORM模型和pydantic模型的連接體模型。查看全部
舉報(bào)