{# Render a form field's label with visual aid to see if it's required. #} {%- macro field_label(f, css_class='') -%} {# #} {%- endmacro -%} {# Render a form field. #} {%- macro field(f, css_class='form-control') -%} {{ f(class=css_class, **kwargs) }} {%- endmacro -%} {# Render a form field's errors. #} {%- macro field_errors(f) -%} {% if f.errors %} {% endif %} {%- endmacro -%} {# Render a form tag that contains a CSRF token and all hidden fields. #} {%- macro form_tag(endpoint, fid='', css_class='', enctype='application/x-www-form-urlencoded', method='POST') -%}
{{ form.hidden_tag() }} {{ caller () }}
{%- endmacro -%} {%- macro render_custom_upload(f, css_class='', id='')-%}
{{ field(f, css_class='custom-file-iput', **kwargs) }} {{ field_label(f, css_class='custom-file-label') }}
{{ field_errors(f) }}
{%- endmacro %} {# Render a form group with errors for various field types. #} {%- macro form_group(f, css_class='', isCustomUpload=False) -%} {% if f.errors %} {% set css_class = css_class + ' has-error ' + kwargs.pop('class', '') %} {% endif %} {% if isCustomUpload %} {{ render_custom_upload(f, css_class, **kwargs) }} {{ caller () }} {% else %} {% if f.type == 'BooleanField' %} {#
#} {# {{ checkbox_field(f, **kwargs) }}#} {% else %}
{{ field_label(f) }} {{ field(f, **kwargs) }} {% endif %} {{ field_errors(f) }} {{ caller () }}
{% endif %} {%- endmacro %} {# Render a form for searching. #} {%- macro search(endpoint) -%} {% call form_tag(endpoint, method='get', **kwargs) %}
{% endcall %} {%- endmacro -%}