有没有办法使deform/colander表单字段只读/禁用?

2024-06-06 07:49:22 发布

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

我尝试使用deform作为pyramid的一部分,并且在获取完全可编辑或完全只读的表单方面没有问题,但是我似乎找不到创建只读文本输入字段的方法。下面的代码不符合我的要求,但我认为您应该能够看到我正在尝试执行的操作:

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))

Tags: 方法代码name文本pyramid编辑stringwidget
1条回答
网友
1楼 · 发布于 2024-06-06 07:49:22

使用只读模板:

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

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

变形版本0.9.6+:

Deform已在之后更新,readonly关键字参数应按预期工作

相关问题 更多 >