Django REST Framework (DRF) Basics

🐍 DjangoLesson 11Advanced

Django REST Framework (DRF) is a powerful, flexible toolkit for building web APIs on top of Django projects.

1 Serializers, ViewSets, and Routers
Python — api.py
from rest_framework import serializers, viewsets, routers
from .models import Post

# 1. Serializer
class PostSerializer(serializers.ModelSerializer):
    class Meta:
        model = Post
        fields = ["id", "title", "content", "created_at", "author"]

# 2. ViewSet
class PostViewSet(viewsets.ModelViewSet):
    queryset = Post.objects.all()
    serializer_class = PostSerializer

# 3. Router configuration (urls.py)
router = routers.DefaultRouter()
router.register(r"posts", PostViewSet)

# urlpatterns += router.urls
2 Code Challenge
Challenge: Create a CategorySerializer and a corresponding CategoryViewSet routing to /api/categories/ endpoints displaying listing counts.