Я хочу сделать логин социальной аутентификации, и я использую userprofile для входа в систему, но я получаю ошибку. Это ошибка:Django Social Auth
Exception Type: TypeError at /complete/facebook/
Exception Value: create_user() takes at least 3 arguments (2 given)
это мой admin.py код
class CustomUserCreationForm(UserCreationForm):
password1 = forms.CharField(label='Password', widget=forms.PasswordInput)
password2 = forms.CharField(label='Password Confirmation', widget=forms.PasswordInput)
class Meta(UserCreationForm.Meta):
model = UserProfile
fields = ('username', 'email','password')
def clean_username(self):
username = self.cleaned_data["username"]
try:
UserProfile._default_manager.get(username=username)
except UserProfile.DoesNotExist:
return username
raise forms.ValidationError(self.error_messages['duplicate_username'])
def clean_password2(self):
password1 = self.cleaned_data.get("password1")
password2 = self.cleaned_data.get("password2")
if password1 and password2 and password1 != password2:
raise forms.ValidationError("Passwords do not match.")
return password2
def save(self, commit=True):
user = super(UserCreationForm, self).save(commit=False)
user.set_password(self.cleaned_data["password1"])
if commit:
user.save()
return user
это model.py
class MyUserManager(BaseUserManager):
def create_user(self, username, email, password=None):
if not email:
raise ValueError('Users must have an email address')
if not username:
raise ValueError('Users must have a username')
user = self.model(
username = username,
email = self.normalize_email(email),
)
user.is_active = True
user.set_password(password)
user.save(using=self._db)
return user
# def create_user(self, username, email):
# return self.model._default_manager._create_user(username=username)
def create_superuser(self, username, email, password):
user = self.create_user(username=username, email=email, password=password)
user.is_staff = True
user.is_superuser = True
user.save(using=self._db)
return user
я уже поставил пароль в поля класса Meta (UserCreationForm.Meta) но его еще одна ошибка.
Вы можете помочь мне решить эту проблему?
, не могли бы вы дать fulltraceback ошибки? – Nilesh
вы можете увидеть полный ответ в этой ссылке http://pastebin.com/XQEZSn0E. не могли бы вы мне помочь, пожалуйста? – User0511