def facebook_connect_exist(request): profile = request.session.get('facebook_profile', None) if not profile: return redirect('/') if request.method == 'POST': form = FacebookBindingForm(request.POST) if form.is_valid(): username = form.cleaned_data['username'] password = form.cleaned_data['password'] user = auth.authenticate(username=username, password=password) # create facebook profile fbprofile = FacebookProfile() fbprofile.uid = profile['id'] fbprofile.user = user fbprofile.name = profile['name'] fbprofile.gender = profile.get('gender', 'male') fbprofile.locale = profile['locale'] fbprofile.url = profile['link'] fbprofile.timezone = profile.get('timezone', '') fbprofile.verified = profile.get('verified', False) fbprofile.created_at = datetime.now() fbprofile.save() if user: auth.login(request, user) request.session['fb_connect_type'] = 'exist' return redirect('member-facebook-connect-done') else: form = FacebookBindingForm() return render(request, 'member/facebook/exist.html', {'form': form, 'profile': profile})