django 微博链接登陆,django微博链接,看了网上的认证。发现好像


看了网上的认证。发现好像没有保存用户????? 这个问题整么受得了。于是出现了下面的东西。欢迎大家拍砖,欢迎大家进QQ群   320834502(nopython)models.py-----------------------------------------------from django.contrib.auth.models import Userclass UserExtend(User):    '''    @des:注册邮箱验证程序    '''    email_code = models.CharField(max_length=60, blank=True, null=True, verbose_name=u"email验证码")    rq = models.DateTimeField( auto_now_add=True,verbose_name=u"发送日期")    sina_id = models.CharField(max_length=10, blank=True, null=True, verbose_name=u"SINA ID")    qq_id = models.CharField(max_length=10, blank=True, null=True, verbose_name=u"QQ ID")    is_shiming= models.BooleanField(default=False)weibologin.py-----------------------------------------------#-*- coding:utf-8 -*-from django.http import HttpResponseRedirect, HttpResponsefrom django.contrib.auth.models import UNUSABLE_PASSWORDfrom umanage.models import UserExtendfrom django.contrib.auth import authenticate, login from boneyao.weibo import APIClientAPP_KEY = 'xxxxxxxxxx' # 换成你自己的APP_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxx' # 换成你自己的CALLBACK_URL = 'http://www.boneyao.com/umanage/weibo_callback.html'#填你自己的授权回调页面def jump_weibo_login(request):    client = APIClient(APP_KEY, APP_SECRET, CALLBACK_URL)    url = client.get_authorize_url(redirect_uri = CALLBACK_URL)    return HttpResponseRedirect(url)def sina_id_to_user(uid):    DEFAULT_EMAIL = ''    username = 'SINA_%s'%uid    if not UserExtend.objects.filter( sina_id = uid).exists():        user = UserExtend.objects.create_user(username,                     DEFAULT_EMAIL, UNUSABLE_PASSWORD)        user.sina_id = uid        user.save()        return user    return UserExtend.objects.get(sina_id=uid)def weibo_callback(request):    client = APIClient(APP_KEY, APP_SECRET, CALLBACK_URL)    code = request.GET['code']    r = client.request_access_token(code)    user = sina_id_to_user(r.uid)    user = authenticate(remote_user=user)    login(request, user)    request.session['oauth_token'] = r    return HttpResponseRedirect('/')urls.py-----------------------urlpatterns = patterns('umanage.weibologin',    url(r'^jump_weibo_login.html$', 'jump_weibo_login', name ="jump_weibo_login"),    url(r'^weibo_callback.html$', 'weibo_callback'),    )settings.py-------------AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend', 'django.contrib.auth.backends.RemoteUserBackend')#该片段来自于http://byrx.net

评论关闭