|
@@ -1,3 +1,51 @@
|
|
|
from django.shortcuts import render
|
|
|
+from rest_framework import viewsets, status
|
|
|
+from rest_framework.response import Response
|
|
|
+from rest_framework.settings import api_settings
|
|
|
|
|
|
+from courses import models
|
|
|
+from courses import serializers
|
|
|
# Create your views here.
|
|
|
+
|
|
|
+
|
|
|
+class CoursesViewSet(viewsets.ModelViewSet):
|
|
|
+ def list(self, request):
|
|
|
+ coursesList = models.Courses.objects.all()
|
|
|
+ serializer = serializers.CoursesSerializer(coursesList, many=True)
|
|
|
+ return Response(serializer.data)
|
|
|
+
|
|
|
+ def retrieve(self, request, pk=None):
|
|
|
+ try:
|
|
|
+ courses = models.Courses.objects.get(id=pk)
|
|
|
+ except models.Courses.DoesNotExist:
|
|
|
+ return Response(status=status.HTTP_404_NOT_FOUND)
|
|
|
+ serializer = serializers.CoursesSerializer(courses)
|
|
|
+ return Response(serializer.data)
|
|
|
+
|
|
|
+ def destroy(self, request, pk=None):
|
|
|
+ try:
|
|
|
+ courses = models.Courses.objects.get(id=pk)
|
|
|
+ except models.Courses.DoesNotExist:
|
|
|
+ return Response(0)
|
|
|
+ courses.delete()
|
|
|
+ return Response(1)
|
|
|
+
|
|
|
+ def create(self, request):
|
|
|
+ serializer = serializers.CoursesSerializer(data=request.data)
|
|
|
+ serializer.is_valid(raise_exception=True)
|
|
|
+ self.perform_create(serializer)
|
|
|
+ headers = self.get_success_headers(serializer.data)
|
|
|
+ return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
|
|
|
+
|
|
|
+ def perform_create(self, serializer):
|
|
|
+ serializer.save()
|
|
|
+
|
|
|
+ def get_success_headers(self, data):
|
|
|
+ try:
|
|
|
+ return {'Location': str(data[api_settings.URL_FIELD_NAME])}
|
|
|
+ except (TypeError, KeyError):
|
|
|
+ return {}
|
|
|
+
|
|
|
+ def update(self, request, pk=None):
|
|
|
+ print(666)
|
|
|
+ return Response(1)
|