0
我允許用戶通過Facebook和用戶名/密碼註冊/登錄。 因此,如果用戶通過fb註冊,那麼如何保存沒有用戶名和密碼的「用戶」實例?如何使用社交授權在我的應用程序上註冊用戶?
我允許用戶通過Facebook和用戶名/密碼註冊/登錄。 因此,如果用戶通過fb註冊,那麼如何保存沒有用戶名和密碼的「用戶」實例?如何使用社交授權在我的應用程序上註冊用戶?
那麼你有兩種選擇:
首先:允許在這兩個領域空值。
二:覆蓋這樣一些方法:
有一個在pipeline
稱爲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
這將使用生成的用戶名和密碼保存用戶。無論你想要什麼,你都可以改變它。