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, })