{% macro render_field(field, label=None, label_visible=true, right_url=None, right_label=None, readonly=false) -%}
    <div class="form-group {% if field.errors %}has-error{% endif %} {{ kwargs.pop('class_', '') }}">
        {% if field.type != 'HiddenField' and label_visible %}
            {% if not label %}{% set label=field.label.text %}{% endif %}
            <label for="{{ field.id }}" class="control-label">{{ label|safe }}</label>
        {% endif %}
        {{ field(class_='form-control', readonly=readonly, **kwargs) }}
        {% if field.errors %}
            {% for e in field.errors %}
                <p class="help-block">{{ e }}</p>
            {% endfor %}
        {% endif %}
    </div>
{%- endmacro %}
 
{% macro render_checkbox_field(field, label=None) -%}
    {% if not label %}{% set label=field.label.text %}{% endif %}
    <div class="checkbox">
        <label>
            {{ field(type='checkbox', **kwargs) }} {{ label }}
        </label>
    </div>
{%- endmacro %}
 
{% macro render_radio_field(field) -%}
    {% for value, label, checked in field.iter_choices() %}
        <div class="radio">
            <label>
                <input type="radio" name="{{ field.id }}" id="{{ field.id }}" value="{{ value }}"{% if checked %} checked{% endif %}>
                {{ label }}
            </label>
        </div>
    {% endfor %}
{%- endmacro %}

{% macro render_submit_field(field, label=None, tabindex=None) -%}
    {% if not label %}{% set label=field.label.text %}{% endif %}
    {#<button type="submit" class="form-control btn btn-lg btn-primary btn-block">{{label}}</button>#}
    <input type="submit" class="btn btn-lg btn-primary btn-block" value="{{label}}"
           {% if tabindex %}tabindex="{{ tabindex }}"{% endif %}
           >
{%- endmacro %}