9、Django视图(View与APIView)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9、Django视图(View与APIView)相关的知识,希望对你有一定的参考价值。

参考技术A django中编辑视图views.py有两种方式,一种是基于类的实现,另外一种是函数式的实现方式,两种方法都可以用。
REST框架提供了一个APIView类,它是Django View类的子类。

View是Django默认的视图基类,APIView是REST framework提供的所有视图的基类, 继承自Django的View,对Django中的View进行了拓展,具备了认证、授权、限流、不同请求数据的解析的功能。

a.统一使用Request对象.data属性去获取json格式的参数、form表单参数、FILES
b、使用Request对象.query_params来获取查询字符串参数
c、Django支持的参数获取方式,DRF都支持

a.对Django中的HttpResponse进行了拓展
b.实现了根据请求头中Accept参数来动态返回
c.默认情况下,如果不传Accept参数或者传参为application/json,那么会返回json格式的数据

d.如果Accept参数为text/html,那么会返回可浏览的api页面(html页面)
e.Response第一个参数为,经过序列化之后的数据(往往需要使用序列化器对象.data)
f.status指定响应状态码

先使用django自带的view,获取一个Card表里面的卡号信息:
models.py设计card表

views.py视图的编写

urls.py设置访问地址

REST framework的APIView继承了django的View类,先序列化Card类,这里的序列化用rest_framework里面的ModelSerializer

配置urls.py,设置访问地址

以上是关于9、Django视图(View与APIView)的主要内容,如果未能解决你的问题,请参考以下文章

APIView和View的区别

drf视图

python Django Rest_Framework框架 视图集与路由Routers详解(图文并茂版)

python Django Rest_Framework框架 视图集与路由Routers详解(图文并茂版)

python Django Rest_Framework框架 视图集与路由Routers详解(图文并茂版)

python Django Rest_Framework框架 APIView介绍与序列化器详解(图文并茂版)