When developing REST API services with the Django REST Framework, a common practice is using generic views and sets of views (called viewsets). In Django applications, views are functions or classes that handle incoming HTTP requests. Viewsets are classes defined by the Django REST Framework that bring functionality of several views (such as creation, update or deletion of objects) into one single class. Generic views and viewsets are then classes that usually do not stand on their own, but are designed to be further extended and customized.