Oauth 如何使用social auth在我的应用程序上注册用户?

Oauth 如何使用social auth在我的应用程序上注册用户?,oauth,python-social-auth,Oauth,Python Social Auth,我允许用户通过facebook和用户名/密码注册/登录。 因此,如果用户通过fb注册,那么如何在没有用户名和密码的情况下保存用户实例?您有两个选项: 第一:在两个字段中都允许空值 第二:覆盖以下一些方法: 管道中有一个名为create_user的函数,它调用用户模型管理器的create_user。您可以重写该方法并自己创建密码: def create_user(self, email, username, password, is_staff, is_superuser,

我允许用户通过facebook和用户名/密码注册/登录。
因此,如果用户通过fb注册,那么如何在没有用户名和密码的情况下保存用户实例?

您有两个选项:

第一:在两个字段中都允许空值

第二:覆盖以下一些方法:

管道中有一个名为create_user的函数,它调用用户模型管理器的create_user。您可以重写该方法并自己创建密码:

def create_user(self, email, username, password, is_staff, is_superuser,
                 *args, **extra_fields):
    """
    Creates and saves a User with the given username and password.
    """
    now = timezone.now()
    if not username:
        username = ''  # or randomly generated string
    user = self.model(username=username, is_staff=is_staff, email=email,
                      is_active=True, is_superuser=is_superuser,
                      last_login=now, date_joined=now)
    user.set_password(password)   # this generates password
    user.save(using=self._db)
    return user
这将使用生成的用户名和密码保存用户。你可以随意改变它