Routers
Routers, when used along with a viewset, take care of automatically creating the required URL endpoints for the viewset. This is because a single viewset is accessed at different URLs. For example, in the preceding UserViewSet, you would access a list of users at the URL /api/users/, and a specific user record at the URL /api/users/123, where 123 is the primary key of that user record. Here is a simple example of how you might use a router in the context of the previously defined UserViewSet:
from rest_framework import routers router = routers.SimpleRouter() router.register(r'users', UserViewSet) urlpatterns = router.urls
Now, let's try to combine the concepts of routers and viewsets in a simple exercise.
Exercise 12.04: Using ViewSets and Routers
In this exercise, we will combine the existing views to create a viewset and create the required routing for the viewset:
- Open the file
bookr/reviews/serializers.py, remove the pre-existing code...