def patch(self, request, uid): machine_code = request.GET.get('mc', None) client = get_client(machine_code) request_user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT.') if not request_user or not request_user.is_operator: raise ValueError('登录已过期或不能进行这个操作!') new_data = json.loads(request.body) operate_user = User.objects.get(id=int(uid)) for key, value in new_data.items(): if key in [ 'username', 'phone', 'email', 'note', 'is_active', 'is_operator', 'is_collector', 'is_researcher' ]: if key == 'is_active' and operate_user.id == request_user.id: raise ValueError('不能对自己做此项修改。') operate_user.__setattr__(key, value) operate_user.save() message = '修改成功!' status_code = 200 except Exception as e: message = str(e) status_code = 400 return HttpResponse(content=json.dumps({ "message": message, "data": {} }), content_type="application/json; charset=utf-8", status=status_code)
def get(self, request, uid): machine_code = request.GET.get('mc', None) client = get_client(machine_code) try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT!') body_data = json.loads(request.body) operate_user = User.objects.get(id=int(uid)) # 当前用户可登录客户端 accessed_clients = UserToClient.objects.filter( user=operate_user, expire_date__gt=datetime.date.today()) # 第三关系表的实例 # 所有有效的客户端 all_clients = Client.objects.filter(**body_data) # 序列化 serializer = ClientsToUserSerializer( accessed_clients=accessed_clients, instance=all_clients, many=True) message = '获取客户端信息成功!' status_code = 200 data = serializer.data except Exception as e: message = str(e) status_code = 400 data = [] return HttpResponse(content=json.dumps({ "message": message, "data": data }), content_type="application/json; charset=utf-8", status=status_code)
def get(self, request, cid): machine_code = request.GET.get('mc', None) client = get_client(machine_code) try: if not client: raise ValueError('INVALID CLIENT!') # 查询表 chart = VarietyChart.objects.get(id=int(cid)) serializer = ChartSerializer(instance=chart) data = serializer.data # 查询表详情的sql语句 query_sql = "SELECT * FROM %s WHERE id>1" % chart.table.sql_name # 查询表头语句 header_sql = "SELECT * FROM %s WHERE id=1" % chart.table.sql_name with connection.cursor() as cursor: cursor.execute(header_sql) header_data = cursor.fetchone() cursor.execute(query_sql) table_data = cursor.fetchall() # 起始时间 data['header_data'] = header_data data['table_data'] = table_data message = '获取表数据成功!' status_code = 200 except Exception as e: data = {} message = str(e) status_code = 400 return HttpResponse(content=json.dumps({ "message": message, "data": data }), content_type="application/json; charset=utf-8", status=status_code)
def post(self, request): machine_code = request.GET.get('mc', None) client = get_client(machine_code) request_user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT!') if not request_user or not request_user.is_collector: raise ValueError('登录已过期或不能进行这项操作!') file_name = request.POST.get('name', '') if not file_name: file_name = request.FILES.name # 组织好数据 data_to_save = { 'name': file_name, 'creator': request_user.id, } form = MarketAnalysisForm(data_to_save, request.FILES) if form.is_valid(): form.save() message = '上传成功!' status_code = 201 else: raise ValueError(form.errors) except Exception as e: message = str(e) status_code = 400 return HttpResponse(content=json.dumps({ 'message': message, 'data': [] }), content_type='application/json charset=utf-8', status=status_code)
def get(self): body_json = request.json utoken = body_json.get('utoken') user_info = verify_json_web_token(utoken) if not user_info: return jsonify({'message': '请登录后再操作..'}), 400 user_id = user_info['id'] variety_id = body_json.get('variety_id', None) machine_code = body_json.get('machine_code') client_info = get_client(machine_code) if not all([user_id, variety_id, client_info]): return jsonify({'message': '参数错误'}), 400 client_id = client_info['id'] db_connection = MySQLConnection() cursor = db_connection.get_cursor() select_statement = "SELECT * FROM `info_tablesource_configs` " \ "WHERE `variety_id`=%s AND `client_id`=%s AND `user_id`=%s;" cursor.execute(select_statement, (variety_id, client_id, user_id)) records = cursor.fetchall() configs = list() for item in records: new = dict() new['id'] = item['id'] new['update_time'] = item['update_time'].strftime( '%Y-%m-%d %H:%M:%S') new['variety_name'] = item['variety_name'] new['variety_id'] = item['variety_id'] new['group_name'] = item['group_name'] new['group_id'] = item['group_id'] new['file_folder'] = item['file_folder'] configs.append(new) return jsonify({'message': '查询成功', 'configs': configs})
def get(self, request): machine_code = request.GET.get('mc', None) min_date = request.GET.get('min_date', None) client = get_client(machine_code) if not client: return HttpResponse(content=json.dumps({ 'message': '获取短信通成功!', 'data': [] }), content_type='application/json charset=utf-8', status=200) # 无最小时间,请求全部 if not min_date: messages = TradePolicy.objects.all().order_by('-date', '-time') else: min_date = datetime.datetime.strptime(min_date, '%Y-%m-%d') messages = TradePolicy.objects.filter( date__gte=min_date.date()).order_by('-date', '-time') serializer = TradePolicySerializer(instance=messages, many=True) return HttpResponse(content=json.dumps({ 'message': '获取交易策略成功!', 'data': serializer.data }), content_type='application/json charset=utf-8', status=200)
def put(self, request, mid): machine_code = request.GET.get('mc', None) client = get_client(machine_code) request_user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT!') if not request_user or not request_user.is_collector: raise ValueError('登录已过期!或不能进行这个操作!') instance = MessageLink.objects.get(id=int(mid)) if not request_user.is_operator and instance.creator.id != request_user.id: raise ValueError('请不要修改他人上传的信息!') body_data = json.loads(request.body) content = body_data.get('content', None) if not content: raise ValueError('请输入内容!') date = datetime.datetime.strptime(body_data.get('date'), '%Y-%m-%d') time = datetime.datetime.strptime(body_data.get('time'), '%H:%M:%S') instance.date = date.date() instance.time = time.time() instance.content = content instance.save() message = '修改短信通成功!' status_code = 200 except Exception as e: message = str(e) status_code = 400 return HttpResponse(content=json.dumps({ 'message': message, 'data': {} }), content_type='application/json charset=utf-8', status=status_code)
def post(self, request): machine_code = request.GET.get('mc', None) client = get_client(machine_code) request_user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT!') if not request_user or not request_user.is_operator: raise ValueError('还没登录或不能进行这个操作!') body_data = json.loads(request.body) name = body_data.get('name', None) if not name: raise ValueError('请输入正确的名称.') parent = body_data.get('parent', None) # 父级 parent = int(parent) if parent else None # 查找最大的order max_order_dict = Module.objects.all().aggregate(Max('order')) current_order = 0 if not max_order_dict['order__max'] else max_order_dict['order__max'] next_order = current_order + 1 # 创建 module = Module(name=name, parent_id=parent, order=next_order) module.save() data = {'id': module.id, 'name': module.name} message = '创建新模块成功!' status_code = 201 except Exception as e: message = str(e) status_code = 400 data = {} return HttpResponse( content=json.dumps({"message": message, "data": data}), content_type="application/json; charset=utf-8", status=status_code )
def patch(self, request): machine_code = request.GET.get('mc', None) client = get_client(machine_code) request_user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT!') if not request_user or not request_user.is_operator: raise ValueError('还没登录或不能进行这个操作!') body_data = json.loads(request.body) current_id = body_data.get("current_id", None) replace_id = body_data.get("replace_id", None) print(current_id, replace_id) if not current_id or not replace_id: raise ValueError('参数错误.current_id, replace_id') # 查询对应的模块 current_module = Module.objects.get(id=current_id) replace_module = Module.objects.get(id=replace_id) # 交换两个order current_module.order, replace_module.order = replace_module.order, current_module.order current_module.save() replace_module.save() serializer = ModuleSerializer(instance=[current_module, replace_module], many=True) data = serializer.data message = "移动成功." status_code = 200 except Exception as e: message = str(e) status_code = 400 data = [] return HttpResponse( content=json.dumps({"message": message, "data": data}), content_type="application/json; charset=utf-8", status=status_code )
def get(self, request, cid): machine_code = request.GET.get('mc', None) client = get_client(machine_code) try: if not client: raise ValueError('INVALID CLIENT.') operate_client = Client.objects.get(id=int(cid)) except Client.DoesNotExist: data = {} message = '该客户端不存在.' status_code = 400 except Exception as e: data = {} message = str(e) status_code = 400 else: message = '获取客户端信息成功!' data = { 'name': operate_client.name if operate_client.name else '', 'machine_code': operate_client.machine_code } status_code = 200 return HttpResponse( content=json.dumps({"message": message, "data": data}), content_type="application/json; charset=utf-8", status=status_code )
def patch(self, request, cid): machine_code = request.GET.get('mc', None) client = get_client(machine_code) request_user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT.') if not request_user or not request_user.is_operator: raise ValueError('登录已过期或不能进行这个操作!') operate_client = Client.objects.get(id=int(cid)) if operate_client.name == u'超管客户端': raise ValueError('该客户端不能进行编辑!') new_data = json.loads(request.body) for key, value in new_data.items(): if key in ['name', 'machine_code', 'is_active']: operate_client.__setattr__(key, value) operate_client.save() message = '修改成功!' status_code = 200 except Exception as e: message = str(e) status_code = 400 return HttpResponse( content=json.dumps({"message": message, "data": {}}), content_type="application/json; charset=utf-8", status=status_code )
def get(self, request): machine_code = request.GET.get('mc', '') client = get_client(machine_code) records = [] if not client: pass else: select = {'day': connection.ops.date_trunc_sql('day', 'create_time')} result = ClientOpenRecord.objects.extra(select=select).values('client', 'day')\ .annotate(day_count=Count('id')).order_by('-day') # 根据客户端查询 client_id = request.GET.get('client', None) try: client_id = int(client_id) except Exception: client_id = None if client_id is not None: result = result.filter(client=client_id) for obj_dict in result: obj_dict['day'] = obj_dict['day'].strftime('%Y-%m-%d') obj_dict['client_name'], obj_dict['category'] = self.get_client_name(obj_dict['client']) records.append(obj_dict) return HttpResponse( content=json.dumps({'message': '获取记录成功', 'data': records}), content_type='application/json; charset=utf-8', status=200 )
def post(self, request): try: body_data = json.loads(request.body) name = body_data.get('name', None) machine_code = body_data.get('machine_code', None) is_manager = body_data.get('is_manager', False) if not machine_code: raise ValueError('缺少【机器码】.') # 查询客户端存在与否 with transaction.atomic(): # 数据库事务 client = get_client(machine_code) if client: # 存在,更新身份 client.is_manager = is_manager else: # 不存在则创建 client = Client( name=name, machine_code=machine_code, is_manager=is_manager ) client.save() # print('用户打开了客户端,进行记录') record = ClientOpenRecord(client=client) record.save() message = '创建成功.' status_code = 200 data = {'machine_code': client.machine_code} except Exception as e: message = str(e) status_code = 400 data = {} return HttpResponse( content=json.dumps({'message': message, 'data': data}), content_type='application/json; charset=utf-8', status=status_code )
def post(self, request, uid): machine_code = request.GET.get('mc', None) client = get_client(machine_code) request_user = request.user try: if not client: raise ValueError('INVALID CLIENT!') if not request_user: raise ValueError('登录已过期...') phone = request_user.phone image = request.FILES.get('image', None) if not image: raise ValueError('请上传图片.') print(image) save_path = settings.MEDIA_ROOT + 'userAvatar/phone_' + phone + '.png' sql_path = settings.STATIC_URL + 'userAvatar/phone_' + phone + '.png' if default_storage.exists(save_path): default_storage.delete(save_path) path = default_storage.save(save_path, image) request_user.avatar = sql_path request_user.save() message = '修改成功.' status_code = 201 data = sql_path except Exception as e: message = str(e) status_code = 400 data = '' return HttpResponse(content=json.dumps({ "message": message, "data": data }), content_type="application/json; charset=utf-8", status=status_code)
def delete(self, request, nid): machine_code = request.GET.get('mc', None) client = get_client(machine_code) request_user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT!') if not request_user or not request_user.is_operator: raise ValueError('还没登录或不能进行这项操作!') notice = TransactionNotice.objects.get(id=int(nid)) # 删除文件 file_path = settings.MEDIA_ROOT + notice.file.name os.remove(file_path) notice.delete() status_code = 200 message = '删除通知成功!' except Exception as e: message = str(e) status_code = 400 return HttpResponse(content=json.dumps({ "message": message, "data": {} }), content_type="application/json; charset=utf-8", status=status_code)
def post(self, request, gid): machine_code = request.GET.get('mc', None) client = get_client(machine_code) request_user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT!') if not request_user or not request_user.is_operator: raise ValueError('还未登录或不能进行这个操作!') body_data = json.loads(request.body) name = body_data.get('name', None) name_en = body_data.get('name_en', None) exchange_lib = body_data.get('exchange_lib', 0) if not all([gid, name, name_en]): raise ValueError('缺少【名称】或【英文代码】') # 创建新品种 new_variety = Variety( group_id=int(gid), name=name, name_en=name_en, exchange=exchange_lib ) new_variety.save() message = '新建品种成功!' status_code = 201 except Exception as e: message = str(e) status_code = 400 return HttpResponse( content=json.dumps({"message": message, "data": {}}), content_type="application/json; charset=utf-8", status=status_code )
def post(self, request): machine_code = request.GET.get('mc', None) client = get_client(machine_code) request_user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT!') if not request_user or not request_user.is_collector: raise ValueError('未登录或不能进行这项操作!') body_data = json.loads(request.body) finance_list = body_data.get('finance_list', None) if not finance_list: raise ValueError('还没有上传任何数据.') instance_list = list() for item in finance_list: item['date'] = datetime.datetime.strptime( item['date'], '%Y-%m-%d') item['time'] = datetime.datetime.strptime( item['time'], '%H:%M:%S') item['uploader_id'] = request_user.id # 加入上传者 instance = FinanceCalendar(**item) instance_list.append(instance) FinanceCalendar.objects.bulk_create(instance_list) message = "上传成功!" status_code = 201 except Exception as e: message = str(e) status_code = 400 return HttpResponse(content=json.dumps({ "message": message, "data": [] }), content_type="application/json; charset=utf-8", status=status_code)
def delete(self, request, gid): print('删除gid', gid) machine_code = request.GET.get('mc', None) client = get_client(machine_code) user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT!') if not user or not user.is_operator: raise ValueError('您登录已过期或不能进行这项操作!') group = VarietyGroup.objects.get(id=int(gid)) with transaction.atomic(): # 删除此组所有品种下的所有表 with connection.cursor() as cursor: for variety in group.varieties.all(): for i in range(9999): delete_sql = "DROP TABLE %s;" % (variety.name_en + '_table_' + str(i)) try: cursor.execute(delete_sql) except Exception: break group.delete() message = '删除成功!' status_code = 200 except Exception as e: message = str(e) status_code = 400 return HttpResponse( content=json.dumps({"message": message, "data": {}}), content_type="application/json; charset=utf-8", status=status_code )
def post(self, request): machine_code = request.GET.get('mc', None) client = get_client(machine_code) request_user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT!') if not request_user or not request_user.is_collector: raise ValueError('登录已过期或不能进行这项操作!') body_data = json.loads(request.body) content = body_data.get('content', None) if not content: raise ValueError('请输入内容!') date = datetime.datetime.strptime(body_data.get('date'), '%Y-%m-%d') time = datetime.datetime.strptime(body_data.get('time'), '%H:%M:%S') sms = MessageLink(date=date.date(), time=time.time(), content=content, creator=request_user) sms.save() message = '创建短信通成功!' status_code = 201 except Exception as e: message = str(e) status_code = 400 return HttpResponse(content=json.dumps({ 'message': message, 'data': [] }), content_type='application/json charset=utf-8', status=status_code)
def put(self, request, vid): machine_code = request.GET.get('mc', None) client = get_client(machine_code) request_user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT.') if not request_user or not request_user.is_operator: raise ValueError('登录已过期或不能进行这个操作!') new_data = json.loads(request.body) operate_variety = Variety.objects.get(id=int(vid)) for key, value in new_data.items(): print(key, value) if key in ['name', 'name_en', 'group_id', 'exchange', 'is_active']: operate_variety.__setattr__(key, value) operate_variety.save() # print(operate_variety.exchange) message = '修改成功!' status_code = 200 except Exception as e: message = str(e) status_code = 400 return HttpResponse( content=json.dumps({"message": message, "data": {}}), content_type="application/json; charset=utf-8", status=status_code )
def get(self, request): machine_code = request.GET.get('mc', None) client = get_client(machine_code) current_page = request.GET.get('page', 1) if not client: instances = MarketAnalysis.objects.none() else: instances = MarketAnalysis.objects.all().order_by('-update_time') # 分页 paginator = Paginator(object_list=instances, per_page=25) try: page_list = paginator.get_page(current_page) serializer = MarketAnalysisSerializer(instance=page_list, many=True) data = dict() data['contacts'] = serializer.data data['total_page'] = paginator.num_pages message = '获取市场分析文件信息成功' status_code = 200 except Exception as e: message = str(e) status_code = 400 data = {} return HttpResponse(content=json.dumps({ 'message': message, 'data': data }), content_type='application/json charset=utf-8', status=status_code)
def get(self, request): machine_code = request.GET.get('mc', None) client = get_client(machine_code) records = [] if not client: pass else: select = {'day': connection.ops.date_trunc_sql('day', 'create_time')} result = ModuleOpenRecord.objects.extra(select=select).values('user', 'day', 'module')\ .annotate(day_count=Count('id')).order_by('-day') # 最后对统计结果进行时间的倒序排列 # result = result.filter(user__is_superuser=False) # 根据用户查询 user_id = request.GET.get('user', None) try: user_id = int(user_id) except Exception: user_id = None if user_id is not None: result = result.filter(user=user_id) records = self.covert_obj(result.all()) return HttpResponse( content=json.dumps({'message': '获取记录成功', 'data': records}), content_type='application/json; charset=utf-8', status=200 )
def delete(self, request, mid): machine_code = request.GET.get('mc', None) client = get_client(machine_code) request_user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT!') if not request_user or not request_user.is_collector: raise ValueError('登录已过期!或不能进行这个操作!') instance = MarketAnalysis.objects.get(id=int(mid)) if not request_user.is_operator and instance.creator.id != request_user.id: raise ValueError('请不要删除他人上传的信息!') instance.delete() # 删除文件 file_path = settings.MEDIA_ROOT + instance.file.name os.remove(file_path) message = '删除成功!' status_code = 200 except Exception as e: message = str(e) status_code = 400 return HttpResponse(content=json.dumps({ 'message': message, 'data': [] }), content_type='application/json charset=utf-8', status=status_code)
def get(self, request): machine = request.GET.get('mc', None) client = get_client(machine) try: if not client: raise ValueError('INVALIE CLIENT.') news = NewsBulletin.objects.order_by('-create_time').all() current_page = request.GET.get('page', 1) paginator = Paginator(object_list=news, per_page=25) news_list = paginator.get_page(current_page) serializer = NewsBulletinSerializer(instance=news_list, many=True) data = dict() data['contacts'] = serializer.data data['total_page'] = paginator.num_pages message = '获取新闻公告成功.' status_code = 200 except Exception as e: message = str(e) status_code = 400 data = dict() data['contacts'] = [] data['total_page'] = 1 return HttpResponse(content=json.dumps({ "message": message, "data": data }), content_type="application/json; charset=utf-8", status=status_code)
def patch(self): body_json = request.json utoken = body_json.get('utoken') user_info = verify_json_web_token(utoken) if not user_info: return jsonify({'message': '请登录后再操作..'}), 400 user_id = user_info['id'] variety_id = body_json.get('variety_id', None) group_id = body_json.get('group_id', None) machine_code = body_json.get('machine_code') client_info = get_client(machine_code) if not all([user_id, variety_id, client_info, group_id]): return jsonify({'message': '参数错误'}), 400 client_id = client_info['id'] now = datetime.datetime.now() update_statement = "UPDATE `info_tablesource_configs` " \ "SET `update_time`=%s " \ "WHERE `client_id`=%s AND `user_id`=%s AND `variety_id`=%s AND `group_id`=%s;" db_connection = MySQLConnection() cursor = db_connection.get_cursor() cursor.execute(update_statement, (now, client_id, user_id, variety_id, group_id)) db_connection.commit() db_connection.close() return jsonify({'message': '修改成功'})
def get(self, request, name): machine_code = request.GET.get('mc', None) client = get_client(machine_code) if not client: return HttpResponse(content=json.dumps({ "message": 'INVALID CLIENT!', "data": {} }), content_type="application/json; charset=utf-8", status=400) image = 'home/advertisement/image/' + name # print(image) try: ad = Advertisement.objects.get(image=image) print(ad) serializer = AdvertisementSerializer(instance=ad) message = '获取数据成功!' status_code = 200 data = serializer.data except Advertisement.DoesNotExist: message = '不存在当前数据!' status_code = 400 data = {} return HttpResponse(content=json.dumps({ "message": message, "data": data }), content_type="application/json; charset=utf-8", status=status_code)
def post(self, request, vid): machine_code = request.GET.get('mc', None) client = get_client(machine_code) request_user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT!') if not request_user: raise ValueError('还未登录,或登录已过期。') body_data = json.loads(request.body) group_name = body_data.get('group_name', None) if not group_name: raise ValueError('请输入组别名称!') # 查找当前操作的品种 current_variety = Variety.objects.get(id=int(vid)) # 验证用户的品种权限 if not variety_user_accessed(variety=current_variety, user=request_user): raise ValueError('您还没有这个品种的权限!') # 创建分组 group = TrendTableGroup(name=group_name, variety=current_variety) group.save() message = '新建数据分组成功!' status_code = 201 except Exception as e: message = str(e) status_code = 400 return HttpResponse(content=json.dumps({ 'message': message, 'data': {} }), content_type='application/json; charset=utf-8', status=status_code)
def post(self, request, group): machine_code = request.GET.get('mc') client = get_client(machine_code) request_user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT!') # 验证group if group not in [couple[0] for couple in DataCategory.GROUPS]: raise ValueError('错误的请求.') if not request_user or not request_user.is_operator: raise ValueError('登录已过期或您还不能进行这个操作!') body_data = json.loads(request.body) name = body_data.get('name', None) if not name: raise ValueError('请输入正确的分组名称!') # 创建分组 category = DataCategory(name=name, group=group) category.save() message = '创建分类成功!' status_code = 201 except Exception as e: message = str(e) status_code = 400 return HttpResponse(content=json.dumps({ "message": message, "data": {} }), content_type="application/json; charset=utf-8", status=status_code)
def delete(self, request, cid): machine_code = request.GET.get('mc', None) client = get_client(machine_code) request_user = request.user try: if not client or not client.is_manager: raise ValueError('INVALID CLIENT!') if not request_user: raise ValueError('登录已过期!') # 查询表 chart = VarietyChart.objects.get(id=int(cid)) if not variety_user_accessed(variety=chart.variety, user=request_user): raise ValueError('您还没有该品种的权限!不能删除。') chart.delete() message = '删除图表成功!' status_code = 200 except Exception as e: message = str(e) status_code = 400 return HttpResponse(content=json.dumps({ "message": message, "data": {} }), content_type="application/json; charset=utf-8", status=status_code)
def get(self, request, uid): machine_code = request.GET.get('mc', None) client = get_client(machine_code) try: if not client: raise ValueError('INVALID CLIENT.') user = User.objects.get(id=int(uid)) except User.DoesNotExist: data = {} message = '该用户不存在.' status_code = 400 except Exception as e: data = {} message = str(e) status_code = 400 else: serializer = UserSerializer(instance=user) message = '成功' data = serializer.data status_code = 200 return HttpResponse(content=json.dumps({ "message": message, "data": data }), content_type="application/json; charset=utf-8", status=status_code)