Building custom API views
DRF provides an APIView
class that builds API functionality on top of Django’s View
class. The APIView
class differs from View
by using DRF’s custom Request
and Response
objects and handling APIException
exceptions to return the appropriate HTTP responses. It also has a built-in authentication and authorization system to manage access to views.
You are going to create a view for users to enroll in courses. Edit the api/views.py
file of the courses
application and add the following code highlighted in bold:
from django.db.models import Count
from django.shortcuts import get_object_or_404
from rest_framework import generics
from rest_framework import viewsets
from rest_framework.response import Response
from rest_framework.views import APIView
from courses.api.pagination import StandardPagination
from courses.api.serializers import CourseSerializer, SubjectSerializer
from courses.models import Course, Subject
# ...
class CourseEnrollView...