考虑web的python数据验证
covador的Python项目详细描述
用于处理http端点参数的验证库。
fromflaskimportFlaskfromcovadorimportsplit,optfromcovador.flaskimportquery_stringapp=Flask(__name__)@app.route('/')@query_string(foo=opt(split(int),[]))defcsv_argument(foo):returnrepr(foo)# GET /?foo=1,2,3 -> [1, 2, 3]if__name__=='__main__':app.run()
- 烧瓶支架(0.x,1.0.x,1.1.x),django(1.x,2.x),aiohttp(2.x,3.x), 龙卷风(3.x,4.x,5.x,6.x)和Sanic(0.x,18.x,19.x)。
- 简单地创建自定义query_string/form/params/json_body/args包装。
- 通过项multiparam支持多个dict。
- 通过项srcparam支持多个dict键。
- 自定义验证器/处理器的简单接口它只是一个可调用的。
- 映射,类型化映射,列表,元组,枚举。
- 验证链:opt(default=[]) | split(separator=' ') | List(int) | (lambda it: it[:10]) 或更简洁的opt(split(int, separator=' '), []) | operator.itemgetter(slice(10))- 一个空格分隔整数的可选参数,我们需要它和它的前10项 默认情况下为空。
- 文本架构:schema(foo=[{'boo':int}]),验证{'foo': [{'boo': 10}, {'boo': 20}]}。
- 字节/Unicode感知。