{% set bootstrap_class_table = { 'CheckboxInput': 'form-check-input', 'EmailInput': 'form-control', 'PasswordInput': 'form-control', 'Select': 'form-control', 'SubmitInput': 'btn', 'TextArea': 'form-control', 'TextInput': 'form-control', } %} {% for id, field in form._fields.items() %} {% if field.widget['input_type'] == 'hidden' %} {{ field(id=False) }} {% else %} {% set extra_label_class = field.errors and ' is-invalid' or '' %} {% set field_class = bootstrap_class_table.get(field.widget.__class__.__name__) %} {% if field.render_kw and field.render_kw.get('class') %} {% set field_class = field_class + ' ' + field.render_kw.get('class') %} {% endif %} {% if field.widget.__class__.__name__ == 'SubmitInput' %}
{{ field(id=False, class=field_class + (' btn-primary' if 'btn-' not in field_class else '')) }} {% if field.description %}
{{ field.description }}
{% endif %} {% for error in field.errors %}
{{ error }}
{% endfor %}
{% elif field.widget.__class__.__name__ == 'CheckboxInput' %}
{{ field(id=False, class=field_class) }} {{ field.label(class="font-weight-bold" + extra_label_class) }} {% if field.description %}
{{ field.description }}
{% endif %} {% for error in field.errors %}
{{ error }}
{% endfor %}
{% elif field.option_widget.__class__.__name__ == 'RadioInput' %}
{{ field.label(class="font-weight-bold" + extra_label_class) }} {% for subfield in field %}
{{ subfield(class="form-check-input") }} {{ subfield.label(class="form-check-label") }}
{% endfor %} {% if field.description %}
{{ field.description }}
{% endif %} {% for error in field.errors %}
{{ error }}
{% endfor %}
{% else %}
{{ field.label(class="font-weight-bold" + extra_label_class) }} {{ field(id=False, class=field_class) }} {% if field.description %}
{{ field.description }}
{% endif %} {% for error in field.errors %}
{{ error }}
{% endfor %}
{% endif %} {% endif %} {% endfor %}