Есть ли способ сделать поле формы деформации/дуршлага доступным только для чтения/отключенным?

Я пытаюсь использовать деформацию как часть пирамиды, и у меня нет проблем с получением полностью редактируемых или полностью доступных только для чтения форм, но я не могу найти способ создать поле ввода текста только для чтения. Следующий код не делает то, что я хочу, но я думаю, вы сможете увидеть, что я пытаюсь сделать:

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

person d0nut    schedule 27.03.2012    source источник


Ответы (1)


Используйте шаблон только для чтения:

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

Вы должны определить значение missing, иначе проверка завершится неудачно.

Деформация версии 0.9.6+:

С тех пор деформация была обновлена, и аргумент ключевого слова readonly должен работать, как и ожидалось.

person tuomur    schedule 28.03.2012