<form method="{{method}}"
{% if enctype %}enctype="{{enctype}}"{% endif %}
action="{{action}}">
{% set extra_width = 0 %}
{% if style == 'wide' %}
{% set extra_width = 4 %}
{% endif %}
{% if errors and not errors.iteritems and show_errors %}
<div class="grid-{{19 + extra_width}}"><span {{widget.j2_attrs({'class':error_class})}}>{{errors}}</span></div>
{% endif %}
{% for field in widget.fields %}
{% set ctx=widget.context_for(field) %}
{% if field.field_type != 'hidden' %}
<div class="fieldcontainer
{% if ctx.errors and field.show_errors %}fielderror{% endif %}">
{% if field.show_label and field.label %}
<label for="{{ctx.id}}" class="grid-4">{{field.label}}:</label>
{{field.display(**ctx)}}
{% else %}
{{field.display(**ctx)}}
{% endif %}
<span {{widget.j2_attrs({'class':error_class})}}>
<div class="arrow"></div>
<span class="msg">
{% if ctx.errors and field.show_errors -%}
{{ctx.errors}}
{% endif %}
</span>
</span>
</div>
{% else %}
{{field.display(**ctx)}}
{% endif %}
{% endfor %}
{% if buttons %}
<div class="grid-{{15 + extra_width}}">
{% for b in buttons %}
{{b.display()}}
{% endfor %}
</div>
{% endif %}
{% if widget.antispam %}{% for fld in g.antispam.extra_fields() %}
{{fld}}{% endfor %}{% endif %}
</form>