from django.views import Viewclass ProjectTestView(View):"""a.获取所有数据b.创建一条数据"""def get(self, request):"""序列化输出到前端的过程规则:a.创建模型对象b.将上面已创建好的的模型对象传递给序列化器类的instance属性,多个对象必须传递many=Truec.通过return JsonResponse(使用序列化器对象.data将序列化之后的数据返回给前端)"""projects = Project_t.objects.all()serializer = serializerstest.ProjectSerializer(instance=projects, many=True)return JsonResponse(serializer.data, safe=False, json_dumps_params={'ensure_ascii':False})def post(self, request):"""反序列化输入的过程规则:1.将前端传递的数据,转化为字典类型数据2.创建序列化器对象,data传递的参数为待校验的字典数据3.必须调用序列化器对象.is_valid()方法,对数据进行校验,序列化器对象.validated_data属性为校验通过的数据4.进行数据入库操作,模型对象数据创建:模型类.objects.create(**序列化器对象.validated_data)5.返回到前端:a.将上面已创建好的的模型对象传递给序列化器类的instance属性,多个对象必须传递many=Trueb.通过return JsonResponse(使用序列化器对象.data将序列化之后的数据返回给前端)"""data = {'code': 0,'msg': ''}request_dict = json.loads(request.body.decode('utf-8'))serializer = serializerstest.ProjectSerializer(data=request_dict)if serializer.is_valid(raise_exception=True):project_obj = Project_t.objects.create(**serializer.validated_data)serial = serializerstest.ProjectSerializer(instance=project_obj)return JsonResponse(serial.data, status=200, json_dumps_params={'ensure_ascii': False})data['code'] = 1data['msg'] = '参数有误'return JsonResponse(data, status=400, json_dumps_params={'ensure_ascii': False})