{% macro field_id(field, sfx='') %} {% if field and field.id %} id="{{ field.id }}-{{ sfx }}" {% endif %} {% endmacro %} {% macro render_field_with_errors(field) %}
{{ field.label }} {{ field(**kwargs)|safe }} {% if field.errors %} {% endif %}
{% endmacro %} {% macro render_field(field) %}
{{ field(**kwargs)|safe }}
{% endmacro %} {% macro render_field_errors(field) %}
{% if field and field.errors %} {% endif %}
{% endmacro %} {# render WTForms (>3.0) form level errors #} {% macro render_form_errors(form) %} {% if form.form_errors %}
{% endif %} {% endmacro %} {% macro prop_next() -%} {% if 'next' in request.args %}?next={{ request.args.next|urlencode }}{% endif %} {%- endmacro %} {# For forms that have multiple POST forms - explicitly render csrf_token so we can change the ID so we don't get duplicates #} {% macro render_csrf(form, pfx) %} {% set csrf_field_name = form.meta.csrf_field_name | default %} {% if form[csrf_field_name] is defined %} {{ form[csrf_field_name](id=pfx~'-csrf') }} {% endif %} {% endmacro %}