接上文 這裏先寫一個GET請求的python
1.先在VIEW裏定義一個方法 代碼以下:django
@api_view(['GET', 'POST']) def book_request(request): if request.method == 'GET': queryset = Book.objects.all() serializer_class = BookSerializer serializer = BookSerializer(queryset) return Response(serializer.data, status=status.HTTP_201_CREATED) else: return Response({'key': 'value'}, status=status.HTTP_200_OK)
這裏的BookSerializer是上文定義的,注意api
serializer = BookSerializer(queryset)機器學習
return Response(serializer.data, status=status.HTTP_201_CREATED)學習
此處2行與上一篇文不同,這裏若是沒有返回會提示ui
Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be returned from the view, but received a `<type 'NoneType'>`url
2.url里加上路由規則rest
url(r'^test/',include('quickstart.urls')),blog
quickstart.urls:路由
from django.conf.urls import * from rest_framework.views import * urlpatterns = patterns('quickstart.views', url(r'^$', 'book_request') )
3.啓動
http://localhost:8000/test/
提示錯誤:'QuerySet' object has no attribute 'id'
可是序列化裏已經有了這個字段了,後來想起官網API裏序列化這一節有寫,果真若是處理的是集合那麼應該爲
serializer = BookSerializer(queryset,many=True)
這個時候就能夠正常了。
其實我看這個rest_framwwork 只是爲機器學習相關內容作鋪墊,因此只是略微實現,若是要用請自行補充,博文只記錄易錯點。