Commit 0f32dfe3 authored by LiniEisha's avatar LiniEisha

API

parent 1f4bcb59
...@@ -4,44 +4,44 @@ from rest_framework.parsers import JSONParser ...@@ -4,44 +4,44 @@ from rest_framework.parsers import JSONParser
from.models import Lecture from.models import Lecture
from .serializers import LectureSerializer from .serializers import LectureSerializer
from django.views.decorators.csrf import csrf_exempt from django.views.decorators.csrf import csrf_exempt
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework import status
# Create your views here. # Create your views here.
@csrf_exempt @api_view(['GET', 'POST'])
def lecture_list(request): def lecture_list(request):
if request.method =="GET": if request.method =="GET":
lectures = Lecture.objects.all() lectures = Lecture.objects.all()
serializers = LectureSerializer(lectures, many=True) serializer = LectureSerializer(lectures, many=True)
return JsonResponse(serializers.data, safe=False) return Response(serializer.data)
elif request.method=="POST": elif request.method=="POST":
data = JSONParser().parse(request) serializer = LectureSerializer(data=request.data)
serializer = LectureSerializer(data=data)
if serializer.is_valid(): if serializer.is_valid():
serializer.save() serializer.save()
return JsonResponse(serializer.data, status=201) return Response(serializer.data, status=status.HTTP_201_CREATED)
return JsonResponse(serializer.data , status=200) return JsonResponse(serializer.data, status=status.HTTP_400_BAD_REQUEST)
@csrf_exempt @api_view(['GET','PUT','DELETE'])
def lecture_details(request,pk): def lecture_details(request,pk):
try: try:
lecture = Lecture.objects.get(pk=pk) lecture = Lecture.objects.get(pk=pk)
except Lecture.DoesNotExist: except Lecture.DoesNotExist:
return HttpResponse(status =404) return Response(status =status.HTTP_404_NOT_FOUND)
if request.method=='GET': if request.method=='GET':
serializer = LectureSerializer(lecture) serializer = LectureSerializer(lecture)
return JsonResponse(serializer.data, status=200) return Response(serializer.data)
elif request.method =='PUT': elif request.method =='PUT':
data = JSONParser().parse(request) serializer = LectureSerializer(data=request.data)
serializer = LectureSerializer(data=data)
if serializer.is_valid(): if serializer.is_valid():
serializer.save() serializer.save()
return JsonResponse(serializer.data) return Response(serializer.data)
return JsonResponse(serializer.data , status=200) return Response(serializer.data, status=status.HTTP_404_NOT_FOUND)
elif request.method =='DELETE': elif request.method =='DELETE':
lecture.delete() lecture.delete()
return HttpResponse(atatus=204) return Response(status=status.HTTP_204_NO_CONTENT)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment