
Master building REST APIs with Django REST framework and Python through a project-based IMDb API clone. Start from basics and advance to serializers, views, permissions, authentication, filtering, pagination, and testing.
Master the basics of Django by setting up a project, folder structure, and sending json responses. Create a virtual environment and choose a code editor for Django.
Set up and run a Django project named watch mate, activate your virtual environment, create the watchlist app, and start the local server with sqlite3.
Install the app, apply migrations, create a super user, and register the movie model in the admin panel; define name, description, and active fields, then prepare views and urls.
Create a function-based view to fetch all movies from watch list app, convert the queryset to a Python list using values, and return a JsonResponse with a movies dictionary.
Learn how to expose a single object via a detail view using a primary key, build a custom JSON response, and prepare for serialization with Django REST framework.
Cover Django rest framework basics: installation, serialization and deserialization, two serializer types (serializer and model serializer), two view types (class-based and function-based), and accessing APIs via browsable API or Postman.
Extend a Django REST framework API by adding post, put, and delete handling with a serializer's create and update methods, data validation, and movie records persistence.
Explains field level validation, object level validation, and validators in Django REST Framework serializers, with practical steps for implementing in serializer.py and raising validation errors.
Explore serializer fields and core arguments to enforce read only, write only, required, and default behaviors with boolean, string, and numeric types, and learn how model serializer streamlines schemas.
Learn to build a Django REST Framework model serializer that maps a movie model to fields, enabling create and update, with include or exclude of id, name, and description.
reshape the project models by renaming movie to watch list, adding watch list and streaming platform models, and updating serializers, views, and urls, with migrations and admin setup.
Learn how the hyperlinked model serializer in Django REST framework exposes urls instead of ids, and how to pass request context to render relationships as urls or ids.
Explore using generic API view and mixins in Django REST framework to implement list, create, retrieve, update, and destroy operations with a queryset and serializer.
Design URL structures to fetch all reviews for a specific movie and to access individual reviews, using a class based view and the generic class based view.
Learn to implement concrete class based views with django rest framework, using list, create, and retrieve api views to handle get, post, put, and delete for a review.
Overwrite queryset to return reviews for a specific movie by filtering with the movie's id, then expose list and create endpoints using perform_create and custom serializer behavior.
Leverage viewsets and a default router to combine list and detail logic into a single url path, automatically handling list and retrieve operations while reducing code.
Learn the difference between authentication and permission, and explore how authentication verifies a logged-in user using basic, token, and JWT methods with Django REST framework, tested with Postman.
Implement basic authentication across the Django REST Framework project by configuring settings.py, replacing session authentication, and optionally using per-class authentication, testing with Postman using the Authorization header and base64 encoding.
Understand token authentication to access content by passing a token in the authorization header. Verify the token against the user in the database to enable authorized access and updates.
Build a dedicated user app in Django to manage registration and login, wiring login via obtain_auth_token and using the token in request headers for authenticated actions.
Explore building a registration endpoint in Django REST Framework: define a user serializer with password confirmation and write-only fields, validate email uniqueness, and return a token for immediate authenticated access.
Implement a logout endpoint that deletes the current user's authentication token via request.user on a post request and returns a 200 response.
Welcome to Django Rest Framework Masterclass, One single course to start your DRF journey as a beginner step-by-step. This course touches on each and every important topic through concept explanation, documentation, and implementation. The entire course is designed for beginners with one goal in mind, to build powerful REST APIs using Python and Django.
Throughout the course, we will explore the most important Django Rest Framework topics step-by-step:
1. API Basics
2. Serializers
- Serializers
- ModelSerializer
- HyperlinkedModelSerializer
3. Function-Based
4. Class-Based Views
- APIView
- Generic Views
- Mixins
- Concrete View Classes
5. Viewsets and Routers
6. Permissions
- IsAuthenticated
- IsAdminUser
- IsAuthenticatedOrReadOnly
- Custom Permission
7. Authentications
- BasicAuthentication
- TokenAuthentication
- JSON Web Token Authentication
8. Throttling
- AnonRateThrottle
- UserRateThrottle
- ScopedRateThrottle
- Custom Throttles
9. Django Filter Backend
- Filtering
- Searching
- Ordering
10. Pagination
- Page Number
- Limit Offset
- Cursor
11. Automated API Testing
------------------
Why this course?
Complete course is focused on the concept learning approach, you learn every concept through a logical and visual learning approach.
Learn all important concepts in the simplest possible way with examples and real-life project.
You just need basic Python and Django knowledge, we will cover everything step-by-step from scratch.
------------------
After completing this course you will be ready to work as an Intern, Fresher, or Freelancer and you will also be able to implement everything yourself! Most importantly you will be ready to divide deep with future practice and hard level question of DRF.
Enroll now, I will make sure you learn best about Django Rest Framework.