コード例 #1
0
    def post(self, request):

        post_data = request.JSON
        form = self.form_obj(post_data, request=request)
        if form.is_valid():
            user_profile = form.save()
            user = user_profile.user
            self.extra_save(user_profile)

            # 激活账号
            user.is_active = True
            user_profile.guide_switch = True
            user_profile.is_phone_bind = True

            with transaction.atomic():
                user.save()
                user_profile.save()

                # 激活体验服务
                self.active_experience_service(user)

                # 记录推广注册信息
                PromotionUtils.register_promotion(request, user)
                PromotionUtils.promotion_success(user)

            # 开始登录
            user.backend = 'users.runtime.auth_backend.AuthPhoneBackend'
            login(request, user)

            self.send_active_email(user)
            return JsonResponse({
                'status': 'ok',
                'msg': u'注册成功',
                'username': user.username,
                'redirect_url': reverse('special-feed-page')
            })

        else:
            return JsonResponse({
                'status': 'error',
                'msg': form.get_first_errors(),
                'errors': form.errors,
            })
コード例 #2
0
    def post(self, request):

        post_data = request.JSON
        form = self.form_obj(post_data, request=request)
        if form.is_valid():
            user_profile = form.save()
            user = user_profile.user
            self.extra_save(user_profile)

            # 激活账号
            user.is_active = True
            user_profile.guide_switch = True
            user_profile.is_phone_bind = True

            with transaction.atomic():
                user.save()
                user_profile.save()

                # 激活体验服务
                self.active_experience_service(user)

                # 记录推广注册信息
                PromotionUtils.register_promotion(request, user)
                PromotionUtils.promotion_success(user)

            # 开始登录
            user.backend = 'users.runtime.auth_backend.AuthPhoneBackend'
            login(request, user)

            self.send_active_email(user)
            return JsonResponse({
                'status': 'ok',
                'msg': u'注册成功',
                'username': user.username,
                'redirect_url': reverse('special-feed-page')
            })

        else:
            return JsonResponse({
                'status': 'error',
                'msg': form.get_first_errors(),
                'errors': form.errors,
            })