|
1 from django.shortcuts import render, HttpResponse |
|
2 from pprint import pprint |
|
3 |
|
4 from django.views.decorators.csrf import csrf_exempt |
|
5 from rest_framework.renderers import JSONRenderer |
|
6 from rest_framework.parsers import JSONParser |
|
7 from iconolab.models import Annotation |
|
8 from .serializers import AnnotationSerializer |
|
9 |
|
10 class JSONResponse(HttpResponse): |
|
11 def __init__(self, data, **kwargs): |
|
12 content = JSONRenderer().render(data) |
|
13 kwargs['content_type'] = 'application/json' |
|
14 super(JSONResponse, self).__init__(content) |
|
15 |
|
16 |
|
17 # Create your views here. |
|
18 |
|
19 def index(r): |
|
20 return HttpResponse('<p>You better know ... </p>') |
|
21 |
|
22 @csrf_exempt |
|
23 def annotation_list(request): |
|
24 |
|
25 if request.method == 'GET': |
|
26 annotations = Annotation.objects.all() |
|
27 serializer = AnnotationSerializer(annotations, many=True) |
|
28 return JSONResponse(serializer.data) |
|
29 |
|
30 |
|
31 |
|
32 def get(request, pk): |
|
33 if request.method == 'GET': |
|
34 |
|
35 try: |
|
36 annotation = Annotation.objects.get(pk=pk) |
|
37 except Annotation.DoesNotExist: |
|
38 return HttpResponse(status=404) |
|
39 |
|
40 serializer = AnnotationSerializer(annotation) |
|
41 return JSONResponse(serializer.data) |