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() 或者其他请求方式的方法。