from rest_framework.views import APIView from rest_framework.renderers import JSONRenderer from rest_framework.response import Response from courses.models import Course, MaterialDirection, CourseTheme, Lesson from courses.serializers import CourseTreeSerializer, CourseDetailSerializer, CourseListSerializer,\ ThemeSerializer, LessonSerializer class DirectionListView(APIView): renderer_classes = (JSONRenderer,) status_code = 200 def get(self, request): return Response([direction.title for direction in MaterialDirection.objects.all()], self.status_code) class TreeView(APIView): renderer_classes = (JSONRenderer,) status_code = 200 @staticmethod def post(request): print(request) return Response(status=204) def get(self, request, id): return Response(CourseTreeSerializer(Course.objects.get(id=id)).data, self.status_code) class ThemeDetailView(APIView): renderer_classes = (JSONRenderer,) status_code = 200 def get(self, request, id): return Response(ThemeSerializer(CourseTheme.objects.get(id=id)).data, self.status_code) class LessonDetailView(APIView): renderer_classes = (JSONRenderer,) status_code = 200 def get(self, request, id): return Response(LessonSerializer(Lesson.objects.get(id=id)).data, self.status_code) class CourseDetailView(APIView): renderer_classes = (JSONRenderer,) status_code = 200 def get(self, request, id): return Response(CourseDetailSerializer(Course.objects.get(id=id)).data, self.status_code) class CourseListView(APIView): renderer_classes = (JSONRenderer,) status_code = 200 def get(self, request): return Response([CourseListSerializer(i).data for i in Course.objects.all()], self.status_code)