如何预先填充Python Formish表单?

2024-09-26 17:45:18 发布

您现在位置:Python中文网/ 问答频道 /正文

如何预填充Formish表单?文档中显而易见的方法似乎并不正确。使用提供的示例之一:

import formish, schemaish
structure = schemaish.Structure()
structure.add( 'a', schemaish.String() )
structure.add( 'b', schemaish.Integer() )
schema = schemaish.Structure()
schema.add( 'myStruct', structure )
form = formish.Form(schema, 'form')

如果我们传递一个有效的请求对象:

^{pr2}$

输出结构如下:

{'myStruct': {'a': 'value', 'b': 0 }}

但是,使用defaults预先填充表单需要:

form.defaults = {'myStruct.a': 'value', 'myStruct.b': 0}

dottedish包有一个DottedDict对象,该对象可以将嵌套dict转换为点dict,但这种不对称似乎不正确。有更好的方法吗?在


Tags: 对象方法formadd表单valueschemastructure
1条回答
网友
1楼 · 发布于 2024-09-26 17:45:18

不,不需要使用点式dict,您可以轻松地使用post validate样式dict来预填充表单:

form.defaults={'myStruct': {'a': None, 'b': 'default_value'}}

可能有旧版本的formish,尝试更新libs。在

相关问题 更多 >

    热门问题