Django-rest-framework学习(二)Request与Response

本文详细介绍了Django-rest-framework中的Request和Response对象,包括Request对象的data属性,Response对象的内容协商功能,状态码的直观表示,以及如何包装API视图。通过示例展示了如何更改视图文件以提供可选择的格式化URL后缀,如.json,并通过Content-type Header控制请求格式。
摘要由CSDN通过智能技术生成

Django-rest-framework学习(二)Request与Response

标签(空格分隔): Django web-api python


组件

Request对象

django-rest-framework中的Request对象扩展了常规的HttpRequest,它提供了request.data属性,与request.POST很类似,但是更为实用与灵活。

    request.POST  #只能处理POST方法提交的表格数据
    request.data  #支持处理多种方法提交的任意类型的数据
Response对象

它同时提供了response对象,是一种基于TemplateResponse类型的,可以将未处理的内容通过内容协商来决定返回给客户端的正确内容形式。( 即客户端所需要的正确形式返回,要什么样的给什么样的,不知道理解的对不对)

    return Response(data)
状态码 Status codes

由于状态码直接在代码中显示不利于代码的可读性,Django-rest-framework提供了一种更为直观的状态显示,比如HTTP_400_BAD_REQUEST

包装API视图
  • @api_view包装器用于基于函数或接口的视图
  • APIView类用于类视图

组合组件

更改视图文件

移除JSONResponse类,因为request.data可以是任意类型的数据,最终都会被处理正确响应给客户端,修改views.py如下:

    #coding:utf-8
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值