Django REST框架构建Web API。Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
from django.views import View
from rest_framework import views, generics, mixins, viewsets
REST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象。
一、DRF 框架所有视图类
以上视图都是基于 django 自带的 views 进行相关方法的封装
二、APIView 实现 get post put delete等
继承django自带views的 View,可以处理 request 和 response,可以捕获异常处理,处理响应信息,以及在进行第三 patch() 分发前,可以用户身份验证、权限验证、流量控制。
定义属性:
# 列表或元组,身份认证类
authentication_classes
# 列表或元组,权限检查类
permission_classes
# 列表或元组,流量控制类
throttle_classes
from rest_framework.views import APIView
from rest_framework.response import Response
# url(r'^books/$', views.BookListView.as_view()),
class BookListView(APIView):
def get(self, request):
# 数据库查询
books = Book.objects.all()
# 构建序列化器, 进行序列化操作
serializer = BookSerializer(books, many=True)
return Response(serializer.data)