有没有办法让变形/ collander表单字段为只读/禁用?

时间:2012-03-27 15:10:57

标签: python pyramid deform

我正在尝试将变形用作金字塔的一部分,并且可以毫无困难地获得完全可编辑或完全只读的表单,但我似乎找不到创建只读文本输入字段的方法。以下代码没有做我想要的,但我认为你应该能够看到我想要做的事情:

class UserSchema(colander.MappingSchema):
    first_name = colander.SchemaNode(colander.String())
    last_name = colander.SchemaNode(colander.String())
    username = colander.SchemaNode(colander.String())
    password = colander.SchemaNode(colander.String())
    email = colander.SchemaNode(colander.String(), validator=colander.Email())
    organization_name = colander.SchemaNode(colander.String(), widget=deform.widget.TextInputWidget(readonly=True))

1 个答案:

答案 0 :(得分:3)

使用只读模板:

organization_name = colander.SchemaNode(colander.String(), missing='', widget=deform.widget.TextInputWidget(template='readonly/textinput'))

您必须定义missing值,否则验证将失败。

变形版本0.9.6 +:

Deform已更新,因此readonly关键字参数应按预期工作。