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 只是为机器学习相关内容作铺垫,因此只是略微实现,若是要用请自行补充,博文只记录易错点。

相关文章
相关标签/搜索