Django REST Framework
API Views
@api_view and Response
API Views
from rest_framework.decorators import api_view, permission_classes
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from rest_framework import status
from .models import Task
from .serializers import TaskSerializer
@api_view(["GET", "POST"])
@permission_classes([IsAuthenticated])
def task_list_create(request):
if request.method == "GET":
qs = Task.objects.filter(project__owner=request.user).select_related("project")
return Response(TaskSerializer(qs, many=True).data)
serializer = TaskSerializer(data=request.data)
serializer.is_valid(raise_exception=True)
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)