1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
   | @api_view(['GET', 'PUT', 'DELETE']) def snippet_detail(request, pk):     """     Retrieve, update or delete a code snippet.     """     try:         snippet = Snippet.objects.get(pk=pk)     except Snippet.DoesNotExist:         return Response(status=status.HTTP_404_NOT_FOUND)
      if request.method == 'GET':         serializer = SnippetSerializer(snippet)         return Response(serializer.data)
      elif request.method == 'PUT':         serializer = SnippetSerializer(snippet, data=request.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':         snippet.delete()         return Response(status=status.HTTP_204_NO_CONTENT)
 
  |