Django REST Framework (DRF) Basics
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.