django rest_framework--入門教程2

接上文 這裏先寫一個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 只是爲機器學習相關內容作鋪墊,因此只是略微實現,若是要用請自行補充,博文只記錄易錯點。

相關文章
相關標籤/搜索