コード例 #1
0
ファイル: views.py プロジェクト: laonan/dongtingfm
def create_user_from_weibo(request,
                           template_name='register/create_user_from_weibo.html'
                           ):

    oauth_access_token = request.session.get('oauth_access_token', None)

    if request.user.is_authenticated() or oauth_access_token is None:
        return HttpResponseRedirect(reverse('home.views.index'))

    client = APIClient(app_key=APP_KEY,
                       app_secret=APP_SECRET,
                       redirect_uri=_get_weibo_callback_url(request))
    client.set_access_token(oauth_access_token['access_token'],
                            oauth_access_token['expires_in'])

    weibo_user = client.get.users__show(uid=oauth_access_token['uid'])
    weibo_username = weibo_user.screen_name

    template_var = {}
    form = RegistrationForm(initial={'username': weibo_username})
    if request.method == 'POST':
        form = RegistrationForm(request.POST.copy())
        if request.method == 'POST':
            if form.is_valid():
                username = form.cleaned_data['username']
                email = form.cleaned_data['email']
                password = form.cleaned_data['password']
                user = User.objects.create_user(username, email, password)
                user.is_active = True
                user.save()

                profile = UserProfile()
                profile.user = user
                profile.song_ord_filed = 'post_datetime'
                profile.save()

                #weibo信息记录
                w_user = WeiboUser()
                w_user.user = user

                w_user.weibo_user_id = oauth_access_token['uid']
                w_user.weibo_username = weibo_username
                w_user.oauth_access_token = oauth_access_token['access_token']
                w_user.save()

                #发微博提示
                if request.POST.get('update_msg'):
                    msg = request.POST.get('bind_msg')[0:140]
                    client.post.statuses__update(status=msg)

                user = authenticate(username=username, password=password)
                auth_login(request, user)

                return HttpResponseRedirect(reverse('songs.views.my_home'))

    template_var['form'] = form
    template_var['weibo_username'] = weibo_username
    return render_to_response(template_name,
                              template_var,
                              context_instance=RequestContext(request))
コード例 #2
0
ファイル: views.py プロジェクト: andy071001/dongtingfm
def create_user_from_weibo(request, template_name='register/create_user_from_weibo.html'):

    oauth_access_token = request.session.get('oauth_access_token', None)

    if request.user.is_authenticated() or oauth_access_token is None:
        return HttpResponseRedirect(reverse('home.views.index'))

    client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=_get_weibo_callback_url(request))
    client.set_access_token(oauth_access_token['access_token'], oauth_access_token['expires_in'])

    weibo_user = client.get.users__show(uid=oauth_access_token['uid'])
    weibo_username = weibo_user.screen_name

    template_var = {}
    form = RegistrationForm(initial={'username': weibo_username })
    if request.method == 'POST':
        form = RegistrationForm(request.POST.copy())
        if request.method == 'POST':
            if form.is_valid():
                username = form.cleaned_data['username']
                email = form.cleaned_data['email']
                password = form.cleaned_data['password']
                user = User.objects.create_user(username,email,password)
                user.is_active = True
                user.save()

                profile = UserProfile()
                profile.user = user
                profile.song_ord_filed = 'post_datetime'
                profile.save()

                #weibo信息记录
                w_user = WeiboUser()
                w_user.user = user

                w_user.weibo_user_id = oauth_access_token['uid']
                w_user.weibo_username = weibo_username
                w_user.oauth_access_token = oauth_access_token['access_token']
                w_user.save()

                #发微博提示
                if request.POST.get('update_msg'):
                    msg = request.POST.get('bind_msg')[0:140]
                    client.post.statuses__update(status=msg)

                user = authenticate(username=username, password=password)
                auth_login(request,user)

                return HttpResponseRedirect(reverse('songs.views.my_home'))

    template_var['form'] = form
    template_var['weibo_username'] = weibo_username
    return render_to_response(template_name, template_var, context_instance=RequestContext(request))
コード例 #3
0
ファイル: views.py プロジェクト: laonan/dongtingfm
def bind_weibo_user(request):

    oauth_access_token = request.session.get('oauth_access_token', None)
    client = APIClient(app_key=APP_KEY,
                       app_secret=APP_SECRET,
                       redirect_uri=_get_weibo_callback_url(request))
    client.set_access_token(oauth_access_token['access_token'],
                            oauth_access_token['expires_in'])
    weibo_user = client.get.users__show(uid=oauth_access_token['uid'])
    weibo_username = weibo_user.screen_name

    template_var = {}
    template_var['weibo_username'] = weibo_username
    if request.method == 'POST':
        email = request.POST.get('email', None)
        password = request.POST.get('password', None)
        if _login(request, email, password) == True:

            #weibo信息记录
            w_user = WeiboUser()
            w_user.user = request.user

            w_user.weibo_user_id = oauth_access_token['uid']
            w_user.weibo_username = weibo_username
            w_user.oauth_access_token = oauth_access_token['access_token']
            w_user.save()

            #发微博提示
            if request.POST.get('update_msg'):
                msg = request.POST.get('bind_msg')[0:140]
                client.post.statuses__update(status=msg)

            return HttpResponseRedirect(reverse('songs.views.my_home'))
        else:

            template_var['login_failure'] = True
            template_var['input_email'] = email
            return auth_login_view(
                request,
                template_name='register/bind_weibo_user.html',
                extra_context=template_var)
    else:
        return auth_login_view(request,
                               template_name='register/bind_weibo_user.html',
                               extra_context=template_var)
コード例 #4
0
ファイル: views.py プロジェクト: andy071001/dongtingfm
def bind_weibo_user(request):

    oauth_access_token = request.session.get('oauth_access_token', None)
    client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=_get_weibo_callback_url(request))
    client.set_access_token(oauth_access_token['access_token'], oauth_access_token['expires_in'])
    weibo_user = client.get.users__show(uid=oauth_access_token['uid'])
    weibo_username = weibo_user.screen_name

    template_var = {}
    template_var['weibo_username'] = weibo_username
    if request.method == 'POST':
        email = request.POST.get('email', None)
        password = request.POST.get('password', None)
        if _login(request, email, password) == True:

            #weibo信息记录
            w_user = WeiboUser()
            w_user.user = request.user

            w_user.weibo_user_id = oauth_access_token['uid']
            w_user.weibo_username = weibo_username
            w_user.oauth_access_token = oauth_access_token['access_token']
            w_user.save()

            #发微博提示
            if request.POST.get('update_msg'):
                msg = request.POST.get('bind_msg')[0:140]
                client.post.statuses__update(status=msg)

            return HttpResponseRedirect(reverse('songs.views.my_home'))
        else:

            template_var['login_failure'] = True
            template_var['input_email'] = email
            return auth_login_view(request, template_name='register/bind_weibo_user.html', extra_context=template_var)
    else:
        return auth_login_view(request, template_name='register/bind_weibo_user.html', extra_context=template_var)