docs: def save(self, *args, **kwargs):
          """
          Create the new user. If no username is supplied (may be hidden
          via ``ACCOUNTS_PROFILE_FORM_EXCLUDE_FIELDS`` or
          ``ACCOUNTS_NO_USERNAME``), we generate a unique username, so
          that if profile pages are enabled, we still have something to
          use as the profile's slug.
          """
  
          kwargs["commit"] = False
          user = super(ProfileForm, self).save(*args, **kwargs)
          try:
              self.cleaned_data["username"]
          except KeyError:
              if not self.instance.username:
                  try:
                      username = ("%(first_name)s %(last_name)s" %
                                  self.cleaned_data).strip()
                  except KeyError:
                      username = ""
                  if not username:
                      username = self.cleaned_data["email"].split("@")[0]
                  qs = User.objects.exclude(id=self.instance.id)
                  user.username = unique_slug(qs, "username", slugify(username))
          password = self.cleaned_data.get("password1")
          if password:
              user.set_password(password)
          elif self._signup:
              try:
                  user.set_unusable_password()
              except AttributeError:
                  # This could happen if using a custom user model that
                  # doesn't inherit from Django's AbstractBaseUser.
                  pass
          user.save()
  
          try:
              profile = get_profile_for_user(user)
              profile_form = self.get_profile_fields_form()
              profile_form(self.data, self.files, instance=profile).save()
          except ProfileNotConfigured:
              pass
  
          if self._signup:
              if (settings.ACCOUNTS_VERIFICATION_REQUIRED or
                      settings.ACCOUNTS_APPROVAL_REQUIRED):
                  user.is_active = False
                  user.save()
              else:
                  token = default_token_generator.make_token(user)
                  user = authenticate(uidb36=int_to_base36(user.id),
                                      token=token,
                                      is_active=True)
          return user