/Django-Rest-Framework

Discover my learning path through Django Rest Framework (DRF). Follow along as I explore API fundamentals, serializers, views, and more. Valuable insights and code samples await.

Primary LanguagePython

DRF Learning Journey 📚🚀

Welcome to my DRF (Django Rest Framework) learning repository! Here's a brief overview of my progress so far:

Day 1: API Fundamentals 🌐

  • Explored the fundamentals of APIs, their applications, and advantages.
  • Designed a dummy database.
  • Created a serializer class to retrieve JSON responses from the database.

Day 2: Serializer Mastery 📝

  • Dived deeper into serializers, a core DRF concept.
  • Implemented CRUD (Create, Read, Update, Delete) APIs using both function-based and class-based views.

Day 3: Validators and Model Serializers 🛡️

  • Learned about different types of API validators:
    • Field Level Validators
    • Object Level Validators
    • Custom Validators
  • Explored the power of Model Serializers in DRF.
  • Demonstrated how to use validators in Model Serializers.
  • Created and tested various dummy APIs to validate functionalities.

Day 4: Function-Based and Class-Based API Views 📄

  • Deepened the understanding of API views.
  • Explored Function-Based API Views and their applications.
  • Studied Class-Based API Views and their benefits.
  • Delved into Request and Response objects, understanding them in-depth for crafting robust APIs.
  • Developed CRUD APIs using class and function based views.

Day 5: Generic Views, Mixins, and Concrete View Classes 🔄

  • Learned about Generic API Views for streamlining common operations.
  • Explored Mixins and how they can be used to add functionalities to views.
  • Gained insights into Concrete View Classes for more specialized views.
  • Well-documented code for better understanding and future reference.

Day 6: Mastering ViewSets 🌟

  • Introduced to ViewSets in Django, a powerful tool for simplifying view creation.
  • Enhanced knowledge and practical skills for building APIs efficiently.

Day 7: Model ViewSets to make CRUD API easier 📚

  • Learned about ModelViewSets in DRF and how it makes the code simple and easy.
  • Developed a CRUD API using the same.

Day 8: Authentication and Permissions 🔐

  • Learned about Authentication classes in DRF, including Basic Authentication.
  • Explored Permissions to control access to API endpoints.
  • Created different types of users and thoroughly tested the APIs for security and functionality.

Day 9: Function-Based Authentication 🤖

  • Practiced Function-Based Authentication methods to enhance API security.
  • Strengthened knowledge of authentication mechanisms within DRF.

Day 10: Token Authentication and Creation 🗝️

  • Introduced Token Authentication in DRF for securing API endpoints.
  • Explored methods to create tokens using signals, CLI, and the admin panel.
  • Pushed Day 10 updates along with Day 11 due to a mistake.

Day 11: CLI API Requests and CRUD Operations 🌐

  • Learned how to make API requests from the command line using the HTTPie library.
  • Performed CRUD operations on APIs using the command line.
  • Continuously advancing my skills in DRF for practical application.

Day 12: Custom Authentication and its operations

  • Got insights on custom authentication and how it works.
  • Documentated the code for more understanding Stay tuned for more updates 📚👩‍💻📈

Day 13-14: JSON Web Token (JWT) and Simple JWT 🌐

  • Explored JSON Web Tokens (JWT) and Simple JWT in Django.
  • Practiced various methods and techniques to work with JWT for authentication and security.

Day 15: Throttling in DRF ⏳

  • Learned about Throttling in DRF for controlling and managing incoming requests.
  • Enhanced knowledge in maintaining the stability and performance of APIs.

Day 16: Filtering in DRF 🎯

  • Gained insights into Filtering in DRF, allowing fine-grained control over data retrieval.
  • Expanded expertise in data manipulation and presentation within APIs.

Day 17: Search and Order Filtering 🧐

  • Learned about search filtering to make API data easily discoverable.
  • Explored ordering to organize data in the desired sequence.
  • Continuing to refine my API skills for optimal user experience.
  • Stay tuned for more updates on my DRF learning journey! 📚👩‍💻📈

Feel free to explore the code and documentation to see my progress in action.If you'd like to follow along with my learning, check out the YouTube playlist from where I am learning DRF. Happy coding! 😊🚀