个别显示表单字段

问题:

怎样在模板中个别显示表单字段?

解决:

你可以使用’render()’方法在你的模板中显示部分的表单字段。

假设你想创建一个名字/姓氏表单。很简单,只有两个字段,不需要验证,只是为了测试目的。

  1. from web import form
  2. simple_form = form.Form(
  3. form.Textbox('name', description='Name'),
  4. form.Textbox('surname', description='Surname'),
  5. )

通常你可以使用simple_form.render()simple_form.render_css()。但如你果你想一个一个的显示表单的字段,或者你怎样才能对模板中的表单显示拥有更多的控制权限?如果是这样,你可以对你的个别字段使用render()方法。

我们定义了两个字段名称为namesurname。这些名称将自动成为simple_form对象的属性。

  1. >>> simple_form.name.render()
  2. '<input type="text" name="name" id="name" />'
  3. >>> simple_form.surname.render()
  4. '<input type="text" name="surname" id="surname" />'

你同样可以通过类似的方法显示个别的描述:

  1. >>> simple_form.surname.description
  2. 'Surname'

如果你有一个小模板片段(局部模板),你想统一的使用你所定义的所有表单字段?你可以使用表单对象的inputs属性迭代每个字段。下面是一个示例:

  1. >>> for input in simple_form.inputs:
  2. ... print input.description
  3. ... print input.render()
  4. ...
  5. Name
  6. <input type="text" name="name" id="name" />
  7. Surname
  8. <input type="text" name="surname" id="surname" />