docs: def get_form_errors(form):
      """
      Django form errors do not obey natural field order,
      this template tag returns non-field and field-specific errors
      :param form: the form instance
      """
      return {
          'non_field': form.non_field_errors(),
          'field_specific': OrderedDict(
              (field, form.errors[field.name])
              for field in form
              if field.name in form.errors
          )
      }