【发布时间】:2014-04-18 13:03:50
【问题描述】:
这是我使用 django 的第一个项目,我安装了 django social auth 并且工作正常,但是当我使用自定义管道时,注册会转到 /login-error
使用 python 2.6 django 1.6.2
#settings.py
SOCIAL_AUTH_PIPELINE = (
'social_auth.backends.pipeline.social.social_auth_user',
'social_auth.backends.pipeline.user.create_user',
'social_auth.backends.pipeline.social.associate_user',
'social_auth.backends.pipeline.social.load_extra_data',
'social_auth.backends.pipeline.user.update_user_details',
'social_auth.backends.pipeline.misc.save_status_to_session',
'app.pipelines.get_user_avatar'
)
#pipelines.py
def get_user_avatar(strategy, user, response, is_new=False,*args,**kwargs):
url = None
if is_new and strategy.backend.name == 'facebook':
url = "http://graph.facebook.com/%s/picture?type=large" % response['id']
if url:
profile = user.get_profile()
profile.photo = url # depends on where you saved it
profile.save()
#models.py
from django.db import models
from django.contrib.auth.models import User
class Profile(models.Model):
user = models.ForeignKey(User)
points = models.IntegerField(default = 0)
photo = models.URLField()
【问题讨论】:
-
你用的是什么版本的python和django?
python --version和django-admin.py --version -
仅供参考,Django-social-auth 现在已弃用。谨慎使用。
-
使用python 2.6 django 1.6.2