'The \'request\' parameter is set for custom auth use by subclasses.
The form data comes in via the standard \'data\' kwarg.'

def __init__(self, request=None, *args, **kwargs):

    self.request = request
    self.user_cache = None
    super().__init__(*args, **kwargs)
    self.username_field = UserModel._meta.get_field(UserModel.USERNAME_FIELD)
    if (self.fields['username'].label is None):
        self.fields['username'].label = capfirst(self.username_field.verbose_name)
