WR-Schemas

wr-schemas的Python项目详细描述


模式描述:

  1. a data structure
  2. a mapping of one data structure into another

架构由字段列表组成。

字段没有类型-在某种程度上,它本身就是一个类型。字段不是类型,而是双向的 地图绘制。给定两个不同的数据结构xy,映射描述如何从 y.f以及如何从x.f计算y.f

字段支持以下属性:

  • name
  • mapping
  • default
  • source_name (source_names)
  • min_len, max_len, auto_trim
  • min, max
  • choices
  • regex
  • required, forbidden
  • nullable

另外:

  • Nested fields are supported.
  • Fields are easy to clone for reuse.
  • Fields and schemas are easy to reverse.
  • Schemas are easy to chain.
fromwr_schemasimportField,Schema,MappingsclassFields:user_id=Field('id',mapping=int,min=1)user_username=Field('username',min_len=5,max_len=100,regex=r'^[a-zA-Z0-9_\-\.@]+$')user_password=Field('password',min_len=10,max_len=100,regex=r'^[a-zA-Z0-9]+$')user_dob=Field('date_of_birth',mapping=Mappings.date())CreateUser=Schema(Fields.user_username.clone(required=True),Fields.user_password.clone(default=None),Fields.user_dob.clone(default=None),)payload=CreateUser.load({'username':'marcus.aurelius@rome.gov'})assertpayload.username=='marcus.aurelius@rome.gov'assertpayload.passwordisNoneassertpayload.date_of_birthisNoneprint(CreateUser.dump(payload))

烧瓶:

fromwr_schemasimportField,Schema,Mappingsfromwr_schemas.flask_requestimportFlaskRequestSchemaMixinCreateUser=Schema(Field('username',required=True),Field('password',required=True),mixins=[FlaskRequestSchemaMixin],)user=CreateUser.from_request()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java文件分块,获取长度字节   java嵌入式Tomcat不执行jsf页面   java我的数据库中有2个实体,但hibernate返回其中6个。   java如何基于逗号拆分字符串   java取消已经运行的CompletableFutures的预期模式是什么   java如何在informix中从另一个数据库复制表ddl和数据   为什么图片是黑色的?   java根据字符串数组中的单词筛选列表   Java8的集合。平行流有效吗?   Kotlin中的java静态内部类   java如何在GUI中生成一列字符串   javafx如何正确使用高对比度主题?   带空格的javascript Httpurlconnection参数   java如何设置GridBagLayout的约束   java如何在一个线程可能尚未初始化时关闭另一个线程   java将简单时间格式转换为特殊时间格式(hhmmt)   安卓/java阵列重复过滤器的问题   java在队列的链接实现下,入队和出队是如何工作的   java更新sql外键约束