Django REST API Development

  1. Views and Request Handling
    1. DRF Request and Response Objects
      1. Request Object Structure
        1. request.data vs request.POST
          1. Request Parsing
            1. Response Object Creation
              1. Response Rendering
                1. Content Negotiation
                  1. Renderer Classes
                    1. Accept Header Processing
                  2. Function-Based Views
                    1. api_view Decorator
                      1. HTTP Method Handling
                        1. Request Processing
                          1. Response Generation
                            1. Error Handling
                              1. Status Code Management
                              2. Class-Based Views
                                1. APIView Base Class
                                  1. HTTP Method Mapping
                                    1. get Method Implementation
                                      1. post Method Implementation
                                        1. put Method Implementation
                                          1. patch Method Implementation
                                            1. delete Method Implementation
                                              1. Exception Handling
                                              2. Generic Class-Based Views
                                                1. Generic View Benefits
                                                  1. ListAPIView
                                                    1. Listing Resources
                                                      1. Queryset Configuration
                                                        1. Serializer Configuration
                                                        2. CreateAPIView
                                                          1. Resource Creation
                                                            1. Validation Handling
                                                              1. Success Response
                                                              2. RetrieveAPIView
                                                                1. Single Resource Retrieval
                                                                  1. Object Lookup
                                                                  2. UpdateAPIView
                                                                    1. Resource Updates
                                                                      1. Partial Updates
                                                                      2. DestroyAPIView
                                                                        1. Resource Deletion
                                                                          1. Soft Delete Implementation
                                                                          2. Combined Generic Views
                                                                            1. ListCreateAPIView
                                                                              1. RetrieveUpdateAPIView
                                                                                1. RetrieveDestroyAPIView
                                                                                  1. RetrieveUpdateDestroyAPIView
                                                                                  2. Customizing Generic Views
                                                                                    1. Overriding Methods
                                                                                      1. Custom Querysets
                                                                                        1. Custom Serializers
                                                                                      2. ViewSets
                                                                                        1. ViewSet Concept
                                                                                          1. ViewSet Base Class
                                                                                            1. GenericViewSet
                                                                                              1. ModelViewSet
                                                                                                1. Complete CRUD Operations
                                                                                                  1. Automatic URL Routing
                                                                                                  2. ReadOnlyModelViewSet
                                                                                                    1. Custom ViewSet Actions
                                                                                                      1. action Decorator
                                                                                                        1. Custom Action Methods
                                                                                                          1. URL Routing for Custom Actions
                                                                                                          2. ViewSet Mixins
                                                                                                            1. CreateModelMixin
                                                                                                              1. ListModelMixin
                                                                                                                1. RetrieveModelMixin
                                                                                                                  1. UpdateModelMixin
                                                                                                                    1. DestroyModelMixin
                                                                                                                    2. Overriding ViewSet Methods
                                                                                                                    3. Advanced View Features
                                                                                                                      1. Custom Permissions per View
                                                                                                                        1. Custom Authentication per View
                                                                                                                          1. View-Level Throttling
                                                                                                                            1. Custom Exception Handling