-
1、Uvicorn:是异步web框架服务的包。
2、搭配Gunicorn的Uvicorn可实现异步多线程的服务。
查看全部 -
1、pydantic:数据格式化的一个库。能够定义好调用时的参数类型控制,以及返回时的序列化。
2、starlette:异步的web框架
查看全部 -
1、引用其他包的时候,要注意版本问题,有时候版本差异会造成BUG
查看全部 -
from jose import JWTError, jwt
如果使用的python版本比较高的话,可能不支持这种导入了。
如果发现这种导包不对,可以尝试: pip install PyJWT
然后直接 import jwt 就可以了
JWTError也不再支持,可以尝试使用 jwt 下的 异常模块
查看全部 -
混合传参:
路径校验用 Path 类
字段校验用 Field 类
查询校验用 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()
查看全部 -
参数传参
查看全部 -
安装包
1,包的版本问题
存在兼容性的问题
2.通过requirements.txt 安装
pip install requirements.txt
查看全部 -
from typing import List
def process_time(item: List[str]):
pass
查看全部 -
包的版本问题
兼容性问题
查看全部 -
安装依赖包,注意关注版本
查看全部 -
使用pydantic模型来进行put和post的数据请求
查看全部 -
使用Optional来让查询参数可选
查看全部 -
两个斜杠之间的参数叫做【路径参数】
?q=后面的参数叫做【查询参数】
直接定义在函数的参数里面
查看全部 -
pydantic模块中引入BaseModel构建基本数据模型,ValidationError来捕获在对模型校验时发生的异常
从typing模块中引入List、Optional等类,方便进行类型标注
继承了BaseModel的自定义数据模型类,可以使用如下方法来达到数据的转换:
实例.dict() --> 返回python的字典类型
实例.json() --> 返回json字符串
实例.copy() --> 浅拷贝数据
类.parse_obj(obj=...) --> 将python的字典类型转换为数据模型
类.parse_raw(str) --> 将json字符串转换为数据模型
类.parse_file(path) --> 将文件内的json数据转换为数据模型
实例.schema() --> 返回schema形式的数据格式
实例.schema_json() --> 以json字符串来返回schema形式的数据
类.construct(obj=) --> 不执行数据类型校验的parse_obj
4. pydantic模型可以互相嵌套
5. 使用sqlalchemy中构建ORM模型,并在pydantic模型中建立联系
6. 使用pydantic模型类的from_orm()方法来构造ORM模型和pydantic模型的连接体模型。查看全部
举报