def snippet_detail(request, pk): # Definimos una vista que recibe el objeto request y la primary key del snippet con el cual vamos a operar """ Retrieve, update or delete a code snippet. """ try: # Decalramos un try/catch por si el snippet no se encuentra en la base de datos snippet = Snippet.objects.get(pk=pk) # Intentamos recuperar el snippet con el id pasado como path param except Snippet.DoesNotExist: # Definimos el manejador si el snippet no se encuentra en la base de datos return HttpResponse(status=404) # Le devolvemos al cliente un HTTP status code 404 porque no encontramos el snippet al que quiere acceder if request.method == 'GET': # Implementamos el verbo HTTP GET para un snippet específico serializer = SnippetSerializer(snippet) # Creamos el serializador para serializar el snippet return JsonResponse(serializer.data) # Le devolvemos al cliente el JSON correspondiente al snippet consultado elif request.method == 'PUT': # Implementamos el verbo HTTP PUT para modificar un snippet específico data = JSONParser().parse(request) # Obtenemos el JSON payload del request serializer = SnippetSerializer(snippet, data=data) # Deserializamos el snippet junto con los datos a modificar if serializer.is_valid(): # Corremos las validaciones serializer.save() # Actualizamos el snippet return JsonResponse(serializer.data) # Le devolvemos al cliente el snippet actualizado return JsonResponse(serializer.errors, status=400) # Los datos son incorrectos. Le devolvemos al cliente un HTTP status code 400 elif request.method == 'DELETE': # Implementamos el verbo HTTP DELETE para eliminar un snippet específico snippet.delete() # Eliminamos el snippet de la base de datos return HttpResponse(status=204) # Le devolvemos al usuario un HTTP status code 204 indicando que se proceso el requerimiento y no hay datos para devolver
def master_detail(request, pk): try: plot = Plot.objects.get(pk=pk) except Plot.DoesNotExist: return HttpResponse(status=status.HTTP_404_NOT_FOUND) # try: # ryot = Ryot.objects.get(pk=pk) # except Ryot.DoesNotExist: # return HttpResponse(status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': plot_serializer = PlotSerializer(plot) return JsonResponse(plot_serializer.data) # ryot_serializer = RyotSerializer(ryot) # return JsonResponse(ryot_serializer.data) elif request.method == 'PUT': plot_data = JSONParser().parse(request) plot_serializer = PlotSerializer(plot, data=plot_data) if plot_serializer.is_valid(): plot_serializer.save() return JsonResponse(plot_serializer.data) return JsonResponse(plot_serializer.errors, status=status.HTTP_400_BAD_REQUEST) # ryot_data = JSONParser().parse(request) # ryot_serializer = RyotSerializer(ryot, data=ryot_data) # if ryot_serializer.is_valid(): # ryot_serializer.save() # return JsonResponse(ryot_serializer.data) # return JsonResponse(ryot_serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': plot.delete() return HttpResponse(status=status.HTTP_204_NO_CONTENT)
def self_connection(request): """Self connect/disconnect smu Returns: status (string): status code detail (string): error detail uuid (uuid4): uuid from celery """ request_data = JSONParser().parse(request) if 'smu_no' in request_data and 'connect' in request_data and 'disconnect' in request_data: east = request_data['smu_no'] west = request_data['smu_no'] if request_data['connect'] is True: connect = True else: connect = False if request_data['disconnect'] is True: disconnect = True else: disconnect = False payload = { 'east': east, 'west': west, 'connect': connect, 'disconnect': disconnect } resp = requests.post(CELERY_APP + '/self_connect', data=payload) return_data = {'uuid': resp.text} return Response(return_data, status=drf_status.HTTP_200_OK) else: return_data = {'status': 'error', 'detail': 'Invalid input.'} return Response(return_data, status=drf_status.HTTP_400_BAD_REQUEST)
def legal_people_list(request): """ List all legal people, or create a new record. """ if request.method == 'GET': records = LegalPerson.objects.all() serializer = LegalPersonSerializer(records, many=True) return JsonResponse(serializer.data, safe=False) if request.method == 'POST': data = JSONParser().parse(request) serializer = LegalPersonSerializer(data=data) if serializer.is_valid(): if check_owner_exists(data['owner']): serializer.save() return JsonResponse(serializer.data, status=201) else: return JsonResponse( {'owner': "Must be an existing cpf or cnpj."}, status=400, ) return JsonResponse(serializer.errors, status=400)
def client_detail(request, pk): """ Retrieve, update or delete a serie. """ try: cliente = Cliente.objects.get(pk=pk) except Cliente.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = ClienteSerializer(cliente) return JSONResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = ClienteSerializer(cliente, data=data) if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data) return JSONResponse(serializer.errors, status=400) elif request.method == 'DELETE': cliente.delete() return HttpResponse(status=204)
def idc_detail(request, pk, *args, **kwargs): try: obj = Idc.objects.get(pk=pk) except Idc.DoesNotExist: return HttpResponse(status=404) if request.method == "GET": s = IdcSerializer(obj) return JsonApiResponse(s.data) elif request.method == "PUT": data = JSONParser().parse(request) s = IdcSerializer(obj, data=data) # 全部字段修改 # s = IdcSerializer(Idc, data={'name': u'idc3'}, partial=True) # 部分字段修改 if s.is_valid(): s.save() return JsonApiResponse(s.data) else: return JsonApiResponse(s.errors, status=400) elif request.method == "DELETE": obj.delete() return HttpResponse("", status=204)
def paper_detail(request, pk): """ Retrieve, update or delete a code paper. """ try: paper = Paper.objects.get(pk=pk) except Paper.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = PaperSerializer(paper) return JsonResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = PaperSerializer(paper, data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status=400) elif request.method == 'DELETE': paper.delete() return HttpResponse(status=204)
def attendance(request, SID): """ Retrieve, update or delete a code snippet. """ try: one_attendance = Attendance.objects.filter(Student_ID=SID) except Attendance.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = AttendanceSerializer(one_attendance) return JsonResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = AttendanceSerializer(one_attendance, data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status=400) elif request.method == 'DELETE': one_attendance.delete() return HttpResponse(status=204)
def dapp_detail(request, pk): try: dapp = Dapp.objects.get(pk=pk) except Dapp.DoesNotExit: return JsonResponse({'message': 'The data entered doesnot exist'}, status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': dapp_serializer = DappSerializer(dapp) return JsonResponse(dapp_serializer.data) elif request.method == 'PUT': dapp_data = JSONParser().parse(request) dapp_serializer = DappSerializer(dapp, data=dapp_data) if dapp_serializer.is_valid(): dapp_serializer.save() return JsonResponse(dapp_serializer.data) return JsonResponse(dapp_serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': dapp.delete() return JsonResponse({'message': 'deleted successfully'}, status=status.HTTP_204_NO_CONTENT)
def IC(request, pk): """ Retrieve, update or delete a code snippet. """ try: one_IC = Instructors_Courses.objects.get(pk=pk) except Instructors_Courses.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = ICSerializer(one_IC) return JsonResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = ICSerializer(one_IC, data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status=400) elif request.method == 'DELETE': one_IC.delete() return HttpResponse(status=204)
def SP(request, pk): """ Retrieve, update or delete a code snippet. """ try: one_SP = Student_Period.objects.get(pk=pk) except Student_Period.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = SPSerializer(one_SP) return JsonResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = SPSerializer(one_SP, data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status=400) elif request.method == 'DELETE': one_SP.delete() return HttpResponse(status=204)
def assignment(request, pk): """ Retrieve, update or delete a code snippet. """ try: one_assignment = Assignment.objects.get(pk=pk) except Assignment.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = AssignmentSerializer(one_assignment) return JsonResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = AssignmentSerializer(one_document, data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status=400) elif request.method == 'DELETE': one_assignment.delete() return HttpResponse(status=204)
def person(request, pk): """ Retrieve, update or delete a code snippet. """ try: person = Personnel.objects.get(pk=pk) except Personnel.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = PersonnelSerializer(person) return JsonResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = PersonnelSerializer(person, data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status=400) elif request.method == 'DELETE': person.delete() return HttpResponse(status=204)
def update_message(self, request, pk=None): data = JSONParser().parse(request) message_id = data.get("id") new_text = data.get("text") if not message_id or not new_text: return HttpResponse(content="Bad request", status=400) if not new_text or new_text == "": return HttpResponse( "Bad request, no message text provided", status=400 ) try: message = Message.objects.get(pk=message_id) serializer = MessageSerializer( message, data={ "text": new_text}, partial=True ) initial = MessageSerializer(message) except Message.DoesNotExist: return HttpResponse("404", status=404) if not initial.data.get("sender_id") == pk: return HttpResponse("404", status=404) if not serializer.is_valid(): return HttpResponse("Bad request", status=400) serializer.save() updated_message = Message.objects.get(pk=message_id) return JsonResponse( MessageSerializer(updated_message).data, status=200 )
def parse_request(request): ''' Returns a dictionary of content from a request ''' content = {} # POST request from mobile client try: # fetch data from request object # logger.debug("Trying to fetch data from request using JSONParser method") content = JSONParser().parse(request) except: # DRF panel try: # fetch data from _content parameter in drf request object # logger.debug("Trying to fetch data from request.POST['_content']") content = json.loads(request.POST["_content"]) except: # POST request through web-site ajax request # logger.debug("Trying to fetch from request.POST") content = request.POST if request.FILES: content.update(request.FILES) # fetch data from request.data try: # logger.debug("Trying to fetch data from request.data") content = request.data except: logger.exception("Unable to fetch data from request.") # logger.debug("content in parse_request: %s\ttype: %s" %(content, type(content))) return content
def savedjob_detail(request, pk): """ Retrieve, update or delete a code savedjob. """ try: savedjob = SavedJob.objects.get(pk=pk) except SavedJob.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = SavedJobSerializer(savedjob) return JSONResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = SavedJobSerializer(savedjob, data=data) if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data) return JSONResponse(serializer.errors, status=400) elif request.method == 'DELETE': savedjob.delete() return HttpResponse(status=204)
def getGpsdata(request): if request.method == 'POST': print(request) data = JSONParser().parse(request) print(data) # serializer = GpsdataSerializer(data=data) # if serializer.is_valid(): # serializer.save() sx = data['sx'] sy = data['sy'] ex = data['ex'] ey = data['ey'] opt = data['opt'] SearchType = data['SearchType'] SearchPathType = data['SearchPathType'] datafromapi = useodsayapi.findway(sx, sy, ex, ey, opt, SearchType, SearchPathType) refindeddata = refinedata.refinedata(json.loads(datafromapi.text)) print(refindeddata) return JsonResponse(refindeddata, status=201) return JsonResponse(serializer.errors, status=400)
def delivery_person_detail(request, pk): """ Retrieve, update or delete a Product. """ try: delivery_person = DeliveryPerson.objects.get(hash_token=pk) except DeliveryPerson.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = DeliveryPersonSerializer(delivery_person) return JSONResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = DeliveryPersonSerializer(delivery_person, data=data) if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data) return JSONResponse(serializer.errors, status=400) elif request.method == 'DELETE': delivery_person.delete() return HttpResponse(status=204)
def room_detail(request, pk): """ Retrieve, update or delete a code room. """ try: room = Room.objects.get(pk=pk) except Room.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': serializer = RoomSerializer(room) return Response(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = RoomSerializer(room, data=data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': room.delete() return Response(status=status.HTTP_204_NO_CONTENT)
def question_detail(request, pk): """ Retrieve, update or delete a code question. """ try: question = Question.objects.get(pk=pk) except Question.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = QuestionModelSerializer(question) return JSONResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = QuestionModelSerializer(question, data=data) if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data) return JSONResponse(serializer.errors, status=400) elif request.method == 'DELETE': question.delete() return HttpResponse(status=204)
def physical_people_detail(request, id): """ Retrieve, update or delete a physical person. """ try: physical_person = PhysicalPerson.objects.get(pk=id) except PhysicalPerson.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = PhysicalPersonSerializer(physical_person) return JsonResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = PhysicalPersonSerializer(physical_person, data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status=400) elif request.method == 'DELETE': physical_person.delete() return HttpResponse(status=200)
def product_detail(request, pk): try: product = Product.objects.get(pk=pk) except Product.DoesNotExist: return JsonResponse({'message': 'The product does not exist'}, status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': product_serializer = ProductSerializer(product) return JsonResponse(product_serializer.data) elif request.method == 'PUT': product_data = JSONParser().parse(request) product_serializer = ProductSerializer(product, data=product_data) if product_serializer.is_valid(): product_serializer.save() return JsonResponse(product_serializer.data) return JsonResponse(product_serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': product.delete() return JsonResponse({'message': 'Product was deleted successfully!'}, status=status.HTTP_204_NO_CONTENT)
def eventocardiovascularficha_detail(request, pk): """ recupera, actualiza o elimina un evento cardiovascular asociado a la ficha """ try: eventocardiovascularficha = EventoCardiovascualarFicha.objects.get(pk=pk) except eventocardiovascularficha.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = EventoCardiovascularFichaSerializer(eventocardiovascularficha) return JsonResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = EventoCardiovascularFichaSerializer(eventocardiovascularficha, data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status=400) elif request.method == 'DELETE': eventocardiovascularficha.delete() return HttpResponse(status=204)
def get(self, request, *args, **kwargs): json_data = request.body # get request body print('json_data: ', json_data) stream = io.BytesIO(json_data) # streams the request print('stream: ', stream) pythondata = JSONParser().parse( stream) # converting stream to python native data print('pythondata: ', pythondata) id = pythondata.get('id', None) if id is not None: stu = Student.objects.get(id=id) serializer = StudentSerializer(stu) # json_data = JSONRenderer().render(serializer.data) # return HttpResponse(json_data, content_type='application/json') return JsonResponse(serializer.data) stu = Student.objects.all() serializer = StudentSerializer(stu, many=True) json_data = JSONRenderer().render(serializer.data) return HttpResponse(json_data, content_type='application/json')
def snippet_detail(request, pk): """ Retrieve, update or delete a code snippet. """ try: snippet = Snippet.objects.get(pk=pk) except Snippet.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = SnippetSerializer(snippet) return JsonResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = SnippetSerializer(snippet, data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status=400) elif request.method == 'DELETE': snippet.delete() return HttpResponse(status=204)
def todo_detail(request, pk): """ Retrieve, update or delete a todo. """ try: todo = Todo.objects.get(pk=pk) except Todo.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = TodoSerializer(todo) return JsonResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = TodoSerializer(todo, data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status=400) elif request.method == 'DELETE': todo.delete() return HttpResponse(status=204)
def publisher_detail(request, pk): """ 获取,更新或删除一个 code snippet。 """ try: publisher = Publisher.objects.get(pk=pk) except Publisher.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = PublisherSerializer(publisher) return JSONResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = PublisherSerializer(publisher, data=data) if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data) return JSONResponse(serializer.errors, status=400) elif request.method == 'DELETE': publisher.delete() return HttpResponse(status=204)
def chat_details(request, value): try: chat = Chat.objects.get(id=value) except Chat.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = ChatSerializer(chat) return JsonResponse(serializer.data, safe=False, status=200) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = ChatSerializer(chat, data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data, status=200) return JsonResponse(serializer.errors, status=204) elif request.method == 'DELETE': try: chat.delete() return HttpResponse(status=200) except: return HttpResponse(status=409)
def update_pcapfile(request, request_type, id): # Según el tipo, actualiza lo que sea # hace save # Coge el objeto try: file = PcapFile.objects.get(id=id) except: return HttpResponse(status=404) request_data = JSONParser().parse(request) serializer = PcapFileSerializer(file) if request_type == "parsed": data = {'status': 1, 'parsed_json': request_data['parsed_json']} elif request_type == "analyzed": data = {'status': 2, 'analyzed_json': request_data['analyzed_json']} elif request_type == 'error': data = {'status': -1} else: return HttpResponse(status=405) file = serializer.update(file, data) return JsonResponse(serializer.data)
def employee_detail(request, pk): """ Get, update or remove an employee instance """ try: employee = Employee.objects.get(pk=pk) except Employee.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': serializer = EmployeeSerializer(employee) return Response(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = EmployeeSerializer(employee, data=data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': employee.delete() return Response(status=status.HTTP_204_NO_CONTENT)