View与APIView的区别

View是Django默认的视图基类

APIView是REST framework提供的所有视图的基类, 继承自Django的View

APIView与View的不同之处在于:

1. 传入到视图方法中的是REST framework的Request对象,而不是Django的HttpRequeset对象;

2. 视图方法可以返回REST framework的Response对象,视图会为响应数据设置(render)符合前端要求的格式;

3. 任何APIException异常都会被捕获到,并且处理成合适的响应信息;APIException异常捕获

4. 在进行dispatch()分发前,会对请求进行身份认证、权限检查、流量控制

5. 支持定义的属性:

    authentication_classes 列表或元组,身份认证类

    permissoin_classes 列表或元组,权限检查类

    throttle_classes 列表或元组,流量控制类

6. 在APIView中仍以常规的类视图定义方法来实现get() 、post() 或者其他请求方式的方法

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容