WTForms 支持

bootstrap/wtf.html 模板包含了帮助你快速输出表单的宏。 Flask-WTF 不是Flask-Bootstrap的依赖,但是必须被正确的安装。 在最近的几个版本中, Flask-WTF 的API变化很大,Flask-Bootstrap目前为 Flask-WTF 的0.9.2版本开发。

最基本的方式是把它们作为手动创建表单的助手。

<form class="form form-horizontal" method="post" role="form">
  {{ form.hidden_tag() }}
  {{ wtf.form_errors(form, hiddens="only") }}

  {{ wtf.form_field(form.field1) }}
  {{ wtf.form_field(form.field2) }}
</form>

然而,你经常只是想快速生成一个表单,而且不需要过度的微调,可以直接使用 quick_form 宏:

{{ wtf.quick_form(form) }}

表单宏参考

quick_form(form, action=".", method="post", extra_classes=None, role="form", form_type="basic", horizontal_columns=('lg', 2, 10), enctype=None, button_map={}, id="")

为一个完整的 Flask-WTF 表单输出Bootstrap-markup。

参数:
  • form -- 要输出的表单类实例。
  • method -- <form> 的method属性。
  • extra_classes -- 添加到 <form> 的类。
  • role -- <form> 的role属性.
  • form_type -- basicinline 或是 horizontal 之一。 关于不同表单样式的具体内容,见 Bootstrap 文档。
  • horizontal_columns -- 当使用水平定位的时候,像这样定位表单。必须是一个三元组: (column-type, left-column-size, right-colum-size).
  • enctype -- <form> 的enctype属性。如果设为 None 而且一个 FileField 出现在表单里, 这个值会被自动设置为 multipart/form-data
  • button_map -- 一个匹配按钮样式的字典,匹配按钮字段名称到 primarydanger 或是 success 。 在 button_map 里没有找到的按钮会使用 default 类型(即 btn btn-default)。
  • id -- <form> 的id属性。
form_errors(form, hiddens=True)

渲染包含表单错误消息的字段。这通常只用来输出隐藏字段表单的错误,因为其他的被附加到表单字段上了。

参数:
  • form -- 应该被渲染错误信息的表单。
  • hiddens -- If 如果设为 True ,也渲染隐藏字段的错误。 如果设为 'only' 渲染这些。
form_field(field, form_type="basic", horizontal_columns=('lg', 2, 10), button_map={})

渲染单个表单字段及周围的元素。主要通过 quick_form 使用。