接上文 这里先写一个GET请求的

1.先在VIEW里定义一个方法 代码如下:

  

@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是上文定义的,注意

serializer = BookSerializer(queryset)

return Response(serializer.data, status=status.HTTP_201_CREATED)

此处2行与上一篇文不一样,这里如果没有返回会提示

Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be returned from the view, but received a `<type 'NoneType'>`

2.url里加上路由规则

  url(r'^test/',include('quickstart.urls')),

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

 

django rest_framework--入门教程2的更多相关文章

  1. django rest_framework入门五-认证和权限

    1.django User实体 django自带了用户验证模块,django/contrib/auth/models.py定义了用户实体,代码如下: class AbstractUser(Abstra ...

  2. django rest_framework入门四-类视图APIView

    上节,我们使用函数视图,用了@api_view装饰器来修饰,这一节,我们介绍类视图APIView,显然,类视图更符合面向对象的原则. 1.使用类视图APIView重写API 类视图APIView,取代 ...

  3. django rest_framework入门三-Requests和Responses

    这一节,我们介绍rest_framework的Requests和Responses对象,来替代django.http的HttpRequest和HttpResponse对象 1.Requests和Res ...

  4. django rest_framework入门二-序列化

    在前一节中,我们已经粗略地介绍了rest_framework的作用之一序列化,下面我们将详细探究序列化的使用. 1.新建一个app snippets python manage.py startapp ...

  5. django rest_framework入门

    1.rest_framework的作用 1)可以对orm和非orm资源序列化 2)支持restful风格编程(POST,PUT,PATCH) 3)使用类视图编写API的view,而不是函数视图,类视图 ...

  6. 【django入门教程】Django的安装和入门

    很多初学django的朋友,都不知道如何安装django开发以及django的入门,今天小编就给大家讲讲django入门教程. 注明:python版本为3.3.1.Django版本为1.5.1,操作系 ...

  7. Django新手图文入门教程

    版权所有,转载需注明来源! 本文是广受大家欢迎的<Django1.10新手图文入门教程>的2.1版本升级篇,原1.10版本传送门点击我 本文面向有一些的Python基础,但刚接触web框架 ...

  8. Django新手图文教程

    Django新手图文教程 本文面向:有python基础,刚接触web框架的初学者. 环境:windows7   python3.5.1  pycharm专业版  Django 1.10版 pip3 一 ...

  9. Django 新手图文教程 (转)

    简约而不简单的 Django 新手图文教程 环境:windows7,python3.5.1,pycharm专业版,Django 1.10版,pip3 一.Django简介 百度百科:开放源代码的Web ...

  10. Django2.1新手图文入门教程

    第一个django Web Django2.1新手图文入门教程 http://www.liujiangblog.com/blog/36/

随机推荐

  1. ESL python调用C模块时传递unicode字符串报错问题解决

    在是用freeswitch时利用ESL的python调用时传递字符串报错 TypeError: in method 'ESLconnection_api', argument 2 of type 'c ...

  2. asp.net C# 未能加载文件或程序集或它的某一个依赖项。需要强名称程序集。的解决办法

    asp.net C# 未能加载文件或程序集或它的某一个依赖项.需要强名称程序集.的解决办法 出现这个错误是原因:是有签名的DLL引用了无签名的DLL 如上图所示,就是因为引用Entity.MVCEnt ...

  3. JavaScript(复习总结)

    一.三个常用对话框 1.alert(""):警告对话框,作用是弹出一个警告对话框(最常用) 2.confirm(""):确定对话框,弹出一个带确定和取消按钮的对 ...

  4. eclipse javascript验证报错

    项目右键->properties

  5. asp.net Gridview 的用法

    留个档. <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="Fa ...

  6. iOS 发送Email

    第一步:在程序中添加MessageUi.framework框架 第二步:引入#import <MessageUI/MessageUI.h>头文件 第三步:代码实现 3.1判断是否可以发送邮 ...

  7. 大道至简之编程的精义读后感(Java伪代码)

    import.java.大道至简.*; import.java.愚公移山.*; public class YuGongYiShan { 愚公={项目组织者,团队经理,编程人员,技术分析师}: //沟通 ...

  8. golang使用interface来mock进行测试(来自dotGO2014)

    源自于dotGO 2014的视频,讲述如何使用 interface 来mock 进行测试.. 可以FQ的同学自己观看,这里把重要的一些代码给截图搬到国内了 https://www.youtube.co ...

  9. operator

    /*  * 由SharpDevelop创建.  * 用户: jinweijie  * 日期: 2015/10/28  * 时间: 9:15  *   * 要改变这种模板请点击 工具|选项|代码编写|编 ...

  10. WebStorm常用设置和常用快捷键

    今天下载了最新版本的WebStorm 7.反正又要重新设置一番了,干脆写下来记录到博客里面,免得以后每次忘了还要到处搜索比较麻烦. 加速 禁用多余的插件,关掉没必要的代码检查项.webstorm慢的原 ...