aboutsummaryrefslogtreecommitdiffstats
path: root/docs/tutorial/3-class-based-views.md
diff options
context:
space:
mode:
authorMarko Tibold2012-09-07 22:53:02 +0200
committerMarko Tibold2012-09-07 22:53:02 +0200
commit8ee763739d66bbaaa9c0f78fa05bbc17dce3de13 (patch)
tree60ca34e0ab65e3eb1de81f34d5334dd22b932679 /docs/tutorial/3-class-based-views.md
parent72bdd0fcec7faa32d7f24e0698736f9433b56f3f (diff)
downloaddjango-rest-framework-8ee763739d66bbaaa9c0f78fa05bbc17dce3de13.tar.bz2
Add some missing imports.
Fix some typos. Fix some indentation errors.
Diffstat (limited to 'docs/tutorial/3-class-based-views.md')
-rw-r--r--docs/tutorial/3-class-based-views.md27
1 files changed, 14 insertions, 13 deletions
diff --git a/docs/tutorial/3-class-based-views.md b/docs/tutorial/3-class-based-views.md
index b3000ad9..24785179 100644
--- a/docs/tutorial/3-class-based-views.md
+++ b/docs/tutorial/3-class-based-views.md
@@ -7,30 +7,31 @@ We can also write our API views using class based views, rather than function ba
We'll start by rewriting the root view as a class based view. All this involves is a little bit of refactoring.
from blog.models import Comment
- from blog.serializers import ComentSerializer
+ from blog.serializers import CommentSerializer
from django.http import Http404
from djangorestframework.views import APIView
from djangorestframework.response import Response
- from djangorestframework.status import status
+ from djangorestframework import status
+
class CommentRoot(APIView):
"""
List all comments, or create a new comment.
- """
+ """
def get(self, request, format=None):
comments = Comment.objects.all()
- serializer = ComentSerializer(instance=comments)
+ serializer = CommentSerializer(instance=comments)
return Response(serializer.data)
- def post(self, request, format=None)
- serializer = ComentSerializer(request.DATA)
+ def post(self, request, format=None):
+ serializer = CommentSerializer(request.DATA)
if serializer.is_valid():
comment = serializer.object
comment.save()
- return Response(serializer.serialized, status=HTTP_201_CREATED)
- return Response(serializer.serialized_errors, status=HTTP_400_BAD_REQUEST)
+ return Response(serializer.serialized, status=status.HTTP_201_CREATED)
+ return Response(serializer.serialized_errors, status=status.HTTP_400_BAD_REQUEST)
- comment_root = CommentRoot.as_view()
+ comment_root = CommentRoot.as_view()
So far, so good. It looks pretty similar to the previous case, but we've got better seperation between the different HTTP methods. We'll also need to update the instance view.
@@ -38,18 +39,18 @@ So far, so good. It looks pretty similar to the previous case, but we've got be
"""
Retrieve, update or delete a comment instance.
"""
-
+
def get_object(self, pk):
try:
return Comment.objects.get(pk=pk)
except Comment.DoesNotExist:
raise Http404
-
+
def get(self, request, pk, format=None):
comment = self.get_object(pk)
serializer = CommentSerializer(instance=comment)
return Response(serializer.data)
-
+
def put(self, request, pk, format=None):
comment = self.get_object(pk)
serializer = CommentSerializer(request.DATA, instance=comment)
@@ -64,7 +65,7 @@ So far, so good. It looks pretty similar to the previous case, but we've got be
comment.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
- comment_instance = CommentInstance.as_view()
+ comment_instance = CommentInstance.as_view()
That's looking good. Again, it's still pretty similar to the function based view right now.
Okay, we're done. If you run the development server everything should be working just as before.