{# Render a form field's label with visual aid to see if it's required. #} {%- macro field_label(f) -%} {%- endmacro -%} {# Render a form field's errors. #} {%- macro field_errors(f) -%} {% if f.errors %} {% endif %} {%- endmacro -%} {# Render a form field. #} {%- macro field(f, css_class='form-control') -%} {{ f(class=css_class, **kwargs) }} {%- endmacro -%} {# Render a checkbox field. #} {%- macro checkbox_field(f) -%} {{ f(type='checkbox', **kwargs) }} {{ f.label }} {%- endmacro -%} {# Render a form group with errors for various field types. #} {%- macro form_group(f, css_class='') -%} {% if f.errors %} {% set css_class = css_class + ' has-error ' + kwargs.pop('class', '') %} {% endif %} {% if f.type == 'BooleanField' %}
{{ checkbox_field(f, **kwargs) }} {% else %}
{{ field_label(f) }} {{ field(f, **kwargs) }} {% endif %} {{ field_errors(f) }} {{ caller () }}
{%- endmacro %} {# Render a form tag that contains a CSRF token and all hidden fields. #} {%- macro form_tag(endpoint, fid='', css_class='', method='post') -%}
{{ form.hidden_tag() }} {{ caller () }}
{%- endmacro -%}