diff -r b458138b8ab6 -r 37baf9d13f32 src/restapi/views.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/restapi/views.py Tue May 31 17:46:32 2016 +0200 @@ -0,0 +1,41 @@ +from django.shortcuts import render, HttpResponse +from pprint import pprint + +from django.views.decorators.csrf import csrf_exempt +from rest_framework.renderers import JSONRenderer +from rest_framework.parsers import JSONParser +from iconolab.models import Annotation +from .serializers import AnnotationSerializer + +class JSONResponse(HttpResponse): + def __init__(self, data, **kwargs): + content = JSONRenderer().render(data) + kwargs['content_type'] = 'application/json' + super(JSONResponse, self).__init__(content) + + +# Create your views here. + +def index(r): + return HttpResponse('

You better know ...

') + +@csrf_exempt +def annotation_list(request): + + if request.method == 'GET': + annotations = Annotation.objects.all() + serializer = AnnotationSerializer(annotations, many=True) + return JSONResponse(serializer.data) + + + +def get(request, pk): + if request.method == 'GET': + + try: + annotation = Annotation.objects.get(pk=pk) + except Annotation.DoesNotExist: + return HttpResponse(status=404) + + serializer = AnnotationSerializer(annotation) + return JSONResponse(serializer.data)