The following are [[Class Based Views (CBV)]], as opposed to [[Function Based Views (FBV)]]:
- `CreateAPIView`: Used for creating new objects. Handles POST requests.
- `ListAPIView`: Used for read-only endpoints to represent a collection of model instances. Handles GET requests.
- `RetrieveAPIView`: Used for read-only endpoints to represent a single model instance. Handles GET requests.
- `DestroyAPIView`: Used for deleting an object. Handles DELETE requests.
- `UpdateAPIView`: Used for updating an object. Handles PUT and PATCH requests.
- `ListCreateAPIView`: A combination of `ListAPIView` and `CreateAPIView`, used for listing a collection of objects or creating a new object. Handles GET and POST requests.
- `RetrieveUpdateAPIView`: A combination of `RetrieveAPIView` and `UpdateAPIView`, used for reading or updating a single object. Handles GET, PUT, and PATCH requests.
- `RetrieveDestroyAPIView`: A combination of `RetrieveAPIView` and `DestroyAPIView`, used for reading or deleting a single object. Handles GET and DELETE requests.
- `RetrieveUpdateDestroyAPIView`: A combination of `RetrieveAPIView`, `UpdateAPIView`, and `DestroyAPIView`, used for reading, updating, or deleting a single object. Handles GET, PUT, PATCH, and DELETE requests.
- `RedirectView`: Used for redirecting to a different URL. Handles GET requests.
- `TemplateView`: Used for rendering a template without the need for a dedicated view function. Handles GET requests.