          self.auto_id = auto_id
          self.data = data or {}
          self.files = files or {}
          self.initial = initial
          self.error_class = error_class
          self._errors = None
          self._non_form_errors = None
  
      def __str__(self):
          return self.as_table()
 
</s> remove                  initial=None, error_class=ErrorList):
 </s> add                  initial=None, error_class=ErrorList, form_kwargs=None): </s> remove         forms = [self._construct_form(i) for i in range(self.total_form_count())]
 </s> add         forms = [self._construct_form(i, **self.get_form_kwargs(i))
                 for i in range(self.total_form_count())]
        self.form_kwargs = form_kwargs or {}
          self.auto_id = auto_id
          self.data = data or {}
          self.files = files or {}
          self.initial = initial
        self.form_kwargs = form_kwargs or {}
          self.error_class = error_class
          self._errors = None
          self._non_form_errors = None
  
      def __str__(self):
          return self.as_table()
keep keep keep add keep keep keep keep keep keep
 Fixed #18166 -- Added form_kwargs support to formsets.

By specifying form_kwargs when instantiating the formset, or overriding
the `get_form_kwargs` method on a formset class, you can pass extra
keyword arguments to the underlying `Form` instances.

Includes tests and documentation update. 
django/forms/formsets.py