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)