{% macro alert(content, type=None, alert_header=None, close_button=True) -%} {# type can be success, error (or danger), info. Defaults to a warning style. #}
{% if close_button -%} × {%- endif %} {% if alert_header -%}

{{ alert_header|safe }}

{%- endif %} {{ content|safe }}
{%- endmacro %} {% macro label(content, type='warning') -%} {{ content|safe }} {%- endmacro %} {% macro non_field_errors(form) %} {% if form.non_field_errors %} {% for error in form.non_field_errors() %} {{ alert(content=error, type='error', close_button=False) }} {% endfor %} {% endif %} {% endmacro %} {% macro label(field) -%} {%- endmacro %} {% macro input(field, input_classes=None, prepend_content=None, append_content=None, placeholder=None, autocomplete='on') -%} {# Helper macro for rendering the input itself #} {% if prepend_content %}
{% elif append_content %}
{% endif %} {%- if prepend_content -%} {{ prepend_content }} {%- endif -%} {% if placeholder %} {{ field(placeholder=placeholder, class=input_classes, autocomplete=autocomplete) }} {% else %} {{ field|safe }} {% endif %} {%- if append_content -%} {{ append_content }} {%- endif -%} {% if field.errors %} {{ field.errors|join(' ')|safe }} {% endif %} {% if append_content or prepend_content %}
{% endif %} {%- endmacro %} {% macro field(field, classes=None, input_classes=None, prepend_content=None, append_content=None, hide_label=False, inline=False, placeholder=False, autocomplete='on') -%} {% if field.is_hidden %} {{ field|safe }} {% else %}
{% if not hide_label %} {{ label(field) }} {% endif %}
{{ input(field, input_classes, prepend_content, append_content, placeholder, autocomplete) }} {% if field.description %}

{{ field.description|safe }}

{% endif %}
{% endif %} {%- endmacro %} {% macro date(field, hide_label=False, placeholder=False) %}
{% if not hide_label %} {{ label(field) }} {% endif %}
{% if placeholder %} {{ field(placeholder=field.name) }} {% else %} {{ field }} {% endif %}
{% if field.errors %} {{ field.errors|join(' ')|safe }} {% endif %}
{% endmacro %}