<%def name="form(form, action, submit_label, enctype='application/x-www-form-urlencoded', prefix='')">
% for field in form.hidden_fields(): ${hidden_field(field, prefix)} % endfor % for field in form.visible_fields(): ${visible_field(field, prefix)} % endfor
<%def name="visible_field(field, prefix='')">
% if hasattr(self, field.field.widget.__class__.__name__): ${getattr(self, field.field.widget.__class__.__name__)(field, prefix)} % else: ${TextInput(field, prefix)} %endif % if field.help_text:

${_(field.help_text)}

% endif % for error in field.errors:

${ _(error) }

% endfor
<%def name="TextInput(field, prefix='')">\ \ <%def name="PasswordInput(field, prefix='')">\ \ <%def name="EmailInput(field, prefix='')">\ \ <%def name="ClearableFileInput(field, prefix='')">\ \ <%def name="URLInput(field, prefix='')">\ \ <%def name="NumberInput(field, prefix='')">\ \ <%def name="Textarea(field, prefix='')">\ \ <%def name="Select(field, prefix='')"> <%def name="SelectMultiple(field, prefix='')"> <%def name="DateTimeInput(field, prefix='')">\ \ <%def name="DateInput(field, prefix='')">\ \ <%def name="MonthInput(field, prefix='')">\ \ <%def name="hidden_field(field, prefix='')">\ \ % for error in field.errors:

${ error }

% endfor <%def name="CheckboxInput(field, prefix='')">\ \ <%def name="csrf_token_input()">