code: def read_form_data(self):
          
          if self.processed_data:
              raise exceptions.AlreadyProcessed('The data has already been processed for this form')
          
          if self.readonly:
              return
  
          if request.method == self.method:
              if self.method == 'POST':
                  data = request.form
              else:
                  data = request.args
  
              if self.submitted_hidden_input_name in data:
                  # The form has been submitted
                  self.processed_data = True
  
                  for field in self.all_fields:
                      # We need to skip readonly fields
                      if field.readonly:
                          pass
                      else:
                          field.extract_value(data)
  
                          # Validate the field
                          if not field.validate():
                              log.debug('Validation error in field \'%s\': %s' % (field.name, field.error))
                              self.has_errors = True
docs: Attempt to read the form data from the request