Django social auth for facebook出现错误
我正在使用:Django social auth for facebook出现错误,django,django-models,django-socialauth,django-1.4,Django,Django Models,Django Socialauth,Django 1.4,我正在使用: django social auth v 0.7.19 django 1.4.3 型号。py: class UserProfile(models.Model): user = models.ForeignKey(User) username = models.CharField(max_length = 64, blank = True, null = True) last_login = models.DateField(blank = True, n
- django social auth v 0.7.19
- django 1.4.3
class UserProfile(models.Model):
user = models.ForeignKey(User)
username = models.CharField(max_length = 64, blank = True, null = True)
last_login = models.DateField(blank = True, null = True)
is_active = models.BooleanField(blank = True)
from social_auth.backends.pipeline.user import create_user
def create_user(backend, details, response, uid, username, user=None, *args,
**kwargs):
if user:
return {'user': user}
if not username:
return None
user, created = User.objects.get_or_create(username = username)
profile, created = UserProfile.objects.get_or_create(user = user)
return {
'user': user,
'profile' : profile,
'is_new': True
}
social\u auth pipeline.py:
class UserProfile(models.Model):
user = models.ForeignKey(User)
username = models.CharField(max_length = 64, blank = True, null = True)
last_login = models.DateField(blank = True, null = True)
is_active = models.BooleanField(blank = True)
from social_auth.backends.pipeline.user import create_user
def create_user(backend, details, response, uid, username, user=None, *args,
**kwargs):
if user:
return {'user': user}
if not username:
return None
user, created = User.objects.get_or_create(username = username)
profile, created = UserProfile.objects.get_or_create(user = user)
return {
'user': user,
'profile' : profile,
'is_new': True
}
问题:
class UserProfile(models.Model):
user = models.ForeignKey(User)
username = models.CharField(max_length = 64, blank = True, null = True)
last_login = models.DateField(blank = True, null = True)
is_active = models.BooleanField(blank = True)
from social_auth.backends.pipeline.user import create_user
def create_user(backend, details, response, uid, username, user=None, *args,
**kwargs):
if user:
return {'user': user}
if not username:
return None
user, created = User.objects.get_or_create(username = username)
profile, created = UserProfile.objects.get_or_create(user = user)
return {
'user': user,
'profile' : profile,
'is_new': True
}
尝试使用以下代码更改您的配置文件创建:
profile, created = UserProfile.objects.get_or_create(user=user, defaults={
'username': user.username,
'last_login': date.today(),
'is_active': True
})
或者向这些字段添加一些默认值
编辑:关键字参数是默认值而不是默认值