Несколько полей в web2py FORM - PullRequest
2 голосов
/ 09 июля 2011

Я хочу создать простую ФОРМУ (не SQLFORM) в web2py с двумя полями, а именно: «имя» и «пароль». Я использовал следующий код

form=FORM('Cloned VM Name:',INPUT(_name='name',requires=IS_NOT_EMPTY()),
          'VNC Password:',INPUT(_name='password',_type='password',requires=IS_NOT_EMPTY()),
           INPUT(_type='submit', _value='Clone it!'))

Я мог бы сгенерировать форму, но поля не выглядят так, как мы ожидаем это как enter image description here

Есть ли способ, которым я могу расположить поля.

1 Ответ

5 голосов
/ 09 июля 2011

Помощники FORM и INPUT являются просто заменой тегов HTML <form> и <input>, поэтому ваш код создаст этот HTML-код:

<form action="" enctype="multipart/form-data" method="post">
Cloned VM Name:<input name="name" type="text" />
VNC Password:<input name="password" type="password" />
<input type="submit" value="Clone it!" />
</form>

В зависимости от того, как вы хотите отформатировать форму,можно добавить дополнительные HTML2 помощники web2py и / или использовать CSS.Например, если вы хотите, чтобы каждый ввод был в отдельной строке, просто поместите каждый из них в DIV:

form=FORM(DIV('Cloned VM Name:',INPUT(_name='name',requires=IS_NOT_EMPTY())),
     DIV('VNC Password:',
         INPUT(_name='password',_type='password',requires=IS_NOT_EMPTY())),
     DIV(INPUT(_type='submit',_value='Clone it!')))

В качестве альтернативы, если вы хотите воспользоваться некоторыми из функций webFpy SQLFORM (например, formstyle аргумент для управления форматированием), но не хотите основывать форму на таблице базы данных, вы можете использовать SQLFORM.factory .

...